初学嵌入式编程困惑之——互斥与同步

2019-07-21 02:51发布

我做纯软件开发已经有些年头了,最近项目需要,接触到嵌入式软件的开发。因为经验基本为零,也没有任何指导,通过网上的搜索,发现正点原子的STM32F4探索者评价不错,非常适合初学者入手,通过这半个月的接触,感觉的确非常不错,文档齐全,由浅入深,性价比很高。
不过还是有许多疑问,希望得到各位前辈坛友的答疑解惑。
第一个疑惑是关于互斥与同步。
以库函数版本的示例4,串口通讯工程为例,变量USART_RX_STA为全局变量,有两个地方会去对其进行修改,一个是中断处理函数USART1_IRQHandler,一个是主程序main函数,我的理解是,USART1_IRQHandler和main好比在两个线程,但是针对USART_RX_STA的修改为何不需要互斥操作呢。或者我对中断的理解不对,是否在进入一个中断处理函数时,main会被挂起,中断处理函数执行完毕后,main才会解挂,继续执行?

另外,单片机编程是否有多线程的概念呢,我网上搜了下,搜不到同步互斥的概念。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
taizonglai
1楼-- · 2019-07-21 08:22
 精彩回答 2  元偷偷看……
backroad
2楼-- · 2019-07-21 12:35
回复【2楼】zuozhongkai:
---------------------------------
了解了,太感谢了~~
三叶草
3楼-- · 2019-07-21 13:51
纯软件开发的能搞硬件???
backroad
4楼-- · 2019-07-21 17:10
回复【4楼】三叶草:
---------------------------------
硬件搞不了,尝试配合搞硬件的写嵌入式软件这块。
揭阳老咸菜
5楼-- · 2019-07-21 17:39
“变量USART_RX_STA为全局变量,有两个地方会去对其进行修改,一个是中断处理函数USART1_IRQHandler,一个是主程序main函数”

这种情况下,一般需要保证对变量USART_RX_STA操作的原子性
磨剑
6楼-- · 2019-07-21 23:22
 精彩回答 2  元偷偷看……

一周热门 更多>