新手入门
- 积分
- 32
- 金钱
- 32
- 注册时间
- 2013-4-2
- 在线时间
- 0 小时
|
5金钱
大家好,菜鸟请教大神们一个问题。
在stm32f10x里,我定义了一个全局变量int a;
在main.c中,
int main()
{
a = 2;
printf("%d", a);
return 0;
}
在中断中,
void interrupt()
{
a++;
}
我的理解是这样,打印出“2”或者“3”是正常情况,打印出“1”就有问题了,我现在想防止出现打印“1”这种情况。
查看文档,并在core_m3.c中看到有uint32_t __LDREXW(uint32_t *addr) uint32_t __STREXW(uint32_t value, uint32_t *addr)
__ASM void __CLREX(void)等函数,不知道怎么用。请大神们指教一二,最好用这几个函数改改我上面的事例。
先谢过大神们~
|
|