hi,
Because RW is a macro define, its value can't be changed. In your program, define write() with RW |= 1, and when this program is compiled, write() will be replaced with 0 |= 1, it is impossible.
if you want to change the value of RW, you can use this:
#include <stdio.h>
static unsigned int RW = 0;
__inline write()
{
RW |= 1;
}
int main()
{
printf("Before \n %d", RW);
write();
printf("After calling WRITE \n %d", RW);
getchar();
return 0;
}
http://www.coocox.org/CooCox_Builder.htm
a completely free and highly automatical integrated development environment for the application based on ARM Cortex M3