- 打卡等级:以坛为家II
- 打卡总天数:500
- 最近打卡:2025-12-17 10:30:29
已绑定手机
金牌会员
- 积分
- 1450
|
发表于 2025-11-4 21:39:12
|
显示全部楼层
你好,代码精简好用,我目前还是使用的寄存器方式编程,改写过程中对于/*---------------------------------------------------------
不使用UCOS时,自已定义临界区
----------------------------------------------------------*/
#ifndef OS_uCOS_II_H
#define OS_ENTER_CRITICAL() {cpu_sr=((!_testbit_(EA))?0X00:0X80);}
#define OS_EXIT_CRITICAL() {IE|=cpu_sr;}
#endif
不是很理解,看意思应该是关闭中断和使能中断,能否解释一下这个临界区的意思是什么?我直接关闭和开启中断是否可以?因为目前我更改代码后不能稳定工作,主要表现为连续发送两三次串口数据,单片机就会不断重启(死循环)!我目前是对这段代码不是很理解,还请指点 |
|