如何使用避免内核定时器函数调用可休眠函数引发的系统

如何使用避免内核定时器函数调用可休眠函数引发的系统,第1张

定时器定时器控制寄存器TCON控制,该寄存器的第4/6位TR0/TR1置1,则打开定时器0/1。
示例语句如下:
先初始化定时器1的相关寄存器:
TMOD|= 0x11;//16位定时器/计数器模式
TH1=0x1C; //12000M
TL1=0x18;
IE = 0x8A; //打开总中断
TR1 = 1; //打开定时器1
设置完成后,每1ms进一次中断,执行中断程序(关于进中断的时间由TH1,TL1控制,具体参见手册)
void T1zd(void) interrupt 3 //3定时器1的中断号 1定时器0的中断号 0外部中断1 2外部中断2 4串口中断
{
TH1 = 0x1c; //12000
TL1 = 0x18;
LedNumVal++;
}

您好,我看到您的问题很久没有人来回答,但是问题过期无人回答会被扣分的并且你的悬赏分也会被没收!所以我给你提几条建议:
一,你可以选择在正确的分类下去提问,这样知道你问题答案的人才会多一些,回答的人也会多些。
二,您可以到与您问题相关专业网站论坛里去看看,那里聚集了许多专业人才,一定可以为你解决问题的。
三,你可以向你的网上好友问友打听,他们会更加真诚热心为你寻找答案的,甚至可以到相关网站直接搜索
四,网上很多专业论坛以及知识平台,上面也有很多资料,我遇到专业性的问题总是上论坛求解决办法的。
五,将你的问题问的细一些,清楚一些!让人更加容易看懂明白是什么意思!
谢谢采纳我的建议! !

Winbond的W77系列单片机,Atmel的Atmega162、Atmega64、Atmega128单片机。
W77的全系列都是双串口的。当然其他单片机也有,不过引脚数可能很多,使用贴片元件封装。

我建议用串行中断子程序,基本不会错
void serialEvent()
{//statements}
int inByte = Serialread();
Serialwrite(inByte);
}
这个函数错误很小


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13406325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-30
下一篇 2023-07-30

发表评论

登录后才能评论

评论列表(0条)

保存