From 1ad712d4767cf95bbe08ffadfec60313abc82590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B6=E4=B8=AD=E6=96=AD=E5=BB=B6=E8=BF=9F=E7=9A=84RTOS?= Date: Tue, 23 Jan 2024 14:14:48 +0000 Subject: [PATCH] =?UTF-8?q?update=20=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3/C?= =?UTF-8?q?osyOS=E5=8E=9F=E7=90=86=E4=B8=8E=E5=BA=94=E7=94=A8.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 零中断延迟的RTOS --- 说明文档/CosyOS原理与应用.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/说明文档/CosyOS原理与应用.md b/说明文档/CosyOS原理与应用.md index 733d2e0..3e285c3 100644 --- a/说明文档/CosyOS原理与应用.md +++ b/说明文档/CosyOS原理与应用.md @@ -557,11 +557,11 @@ CosyOS启用“每调度监控”的充分必要条件是启用任务管理器 ### CosyOS-II 在中断中调用服务注意事项 * **中断中写全局变量**
- 一、当用户在中断中调用iWriteGVar(gv, lv)、iWriteGAry(gp, lp, size)、iWriteGStr(gs, ls)写一个全局变量时,局部变量要做为专用。
+ 一、当用户在中断中调用iWriteGVar(gv, lv)、iWriteGAry(gp, lp, size)、iWriteGStr(gs, ls)写全局变量时,局部变量要做为专用:
1、如果局部变量被更新,之后就必须调用服务写同一个全局变量。
2、调用服务以后,该局部变量在本次中断中不可被改变,因为写全局变量为挂起服务。
* **中断中发送邮件**
- 一、当用户在中断中调用iSendMail(mbox, mail)发送邮件时,mail所指向的局部邮箱要做为专用。
+ 一、当用户在中断中调用iSendMail(mbox, mail)发送邮件时,mail所指向的局部邮箱要做为专用:
1、如果局部邮箱被更新,之后就必须调用服务发送邮件至同一个邮箱。
2、服务调用以后,该局部邮箱在本次中断中不可被改变,因为发送邮件为挂起服务。
二、当邮箱的数据类型为非原子访问类型时,中断最好不要发送邮件给中断,除非这个中断的发生频率足够低,可确保在PendSV中最终完成发送以后,这个中断才会再次发生,否则会有出错的风险。