定时1us和CDC冲突
我使用的单片机是32F12K54当定时器0定时100us时, CDC功能正常
当定时器0定时1us时, 电脑识别不出来CDC口了
求解~
我的应用是检测两次CAN通讯的时差, 需要用到us级别的定时, 而且我也想把CAN数据通过CDC口发送到电脑
我感觉我的程序没错, 是不是us级别的定时本身会中断CDC啊? 我已经把定时器0的定时中断优先级整成了最低
有可能是进入中断太频繁了导致其他任务被堵塞执行。
可以尝试给定时器0中断函数内加入:进入时某个IO置1,结束时某个IO置0.
通过外部示波器查看这个波形的占空比是否过高。 定时1us,太短了,MCU单独处理中断很忙了,哪有时间去处理CDC的事务 王昱顺 发表于 2025-2-4 12:24
有可能是进入中断太频繁了导致其他任务被堵塞执行。
可以尝试给定时器0中断函数内加入:进入时某个IO置1, ...
这是个好主意👍 1us,呵呵, 中断太繁忙了,没有时间去处理其他(CDC)任务
检测两次CAN通讯的时差不需要用1us中断
可以用定时器寄存器的差来计算
页:
[1]