中断冲突怎么办
本帖最后由 国学芯用 于 2023-10-19 16:42 编辑帮网友问:我有个SENOSR外部中断10MS会中断一次,怎么办
每次进去读数据要耗时在10MS内,读取数据后,送到TFT屏显示,
又需要通过串口把数据送到上位机实时显示,发现串口发送的时候会影响我刷屏,正常是中断进去后读取数据,在主函数应该是要立刻去扫描屏。
但是抓波形看要25MS左右才去扫屏,然后我把串口打印数据程序屏蔽了,就在1.5MS左右就会去扫屏,是正常的
每次进去读数据要耗时在10MS内,读取数据后,送到TFT屏显示,又需要通过串口把数据送到上位机用来做实时显示;经测试发现串口发送的时候会影响我程序进入刷屏,正常是中断进去后读完数据,设置了标志位,在主函数应该是要立刻去判断读SENSOR已经完成这时候应该尽快去扫描屏,时间情况如图 逻辑抓到的波形如下,实际应用中,扫屏内容会比这个数据更多,那扫屏再扫几行,就会导致我SENSOR的下一个中断又进来了,那这个时候我刷屏时序就错了!还请帮看怎么解决,
1)看看这个串口上位机,开关和关都不影响我读完外部中断后的是主函数,快速切入刷TFT屏。2看有没其他啥办法让刷屏,外部中断读取数据,和数据实时传输给上位机不影响各自的功能,芯片用的是STC8H8K64U的
都是卡时间的,中断读取完后,尽快刷屏,传数据给上位机才是只剩下14MS了怎么用!奇怪的问题是为啥我上位机串口软件,点关闭串口,反而会导致主函数的判断时间更往后推呢?而且是25MS,这个是不行的太久了,只剩下14MS了怎么用,再刷一行显示都不行,下一个中断有到了SENSOR那边 按道理说,不应该是开串口6.5MS进去(这个我们都嫌慢耗时间能快尽量快),而关闭串口上位机那边,推迟到25MS那好奇怪哦 alexwu 发表于 2023-10-19 17:33
按道理说,不应该是开串口6.5MS进去(这个我们都嫌慢耗时间能快尽量快),而关闭串口上位机那边,推迟到25M ...
串口发送可以考虑用队列模式,在中断里发送。 STC8H8K64U有 DMA 用上 DMA 来支持外设,主频设置到 40MHz 这个问题帮看怎么解决,这个位置产生中断,就导致刷屏错误了,成了花屏了!! 先改成仿真调试,跟踪进去看
不要在外面看靠猜
【新提醒】仿真/ISP下载/做自己的ISP/编译器/头文件 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
什么传感器?什么接口?要读很多数据吗?10ms是很长的时间了,传感器不应该用10ms中断但读出数据超过10ms的。
页:
[1]
2