发新帖我要提问
12
返回列表
打印
[STM32F1]

STM32F103+MAX14830串口问题

[复制链接]
楼主: 天意无罪
手机看帖
扫描二维码
随时随地手机跟帖
21
cxelove| | 2017-11-16 17:05 | 只看该作者 回帖奖励 |倒序浏览
你好 你的中断方式调通了吗
我之前使用10ms定时读取fifo数目来操作MAX中断方式好像不会调,刚刚好像定时移植出问题一直进入定时器中断一直读现在芯片好像坏了
能指导一下吗

使用特权

评论回复
22
天意无罪|  楼主 | 2017-11-16 19:07 | 只看该作者
cxelove 发表于 2017-11-16 17:05
你好 你的中断方式调通了吗
我之前使用10ms定时读取fifo数目来操作MAX中断方式好像不会调,刚刚好像定时移 ...

刚开始用的中断,但是我的四个口子因为通信速率和数量都很大,用中断**出现MAX14830中断锁死的情况(我4个口子在115200的波特率下一直接收数据都会挂掉,波特率降低后,就不会,这个原因一直没解决),后来使用的查询法,一直轮询max14830的接收字节数量寄存器(很久了,记不得是哪个寄存器了)有好多就一次性读出来,这样避免了中断频率过高的问题,也解决了调包的问题。

使用特权

评论回复
23
cxelove| | 2017-11-21 10:03 | 只看该作者
天意无罪 发表于 2017-11-16 19:07
刚开始用的中断,但是我的四个口子因为通信速率和数量都很大,用中断**出现MAX14830中断锁死的情况(我4 ...

我现在是用IRQ中断开启和关闭10ms定时器,定时中断里面读取fifo数量 然后一次读取多个出来,这样的话有数据才开始开启定时器读取寄存器,没有数据就不操作芯片。这样貌似效率还可以,最高115200貌似10ms有115个字节不会超过128。
现在发现我程序缓存设置1024 如果一次超过这个值不知道怎么芯片下次就不产生中断了。。。。

使用特权

评论回复
24
cxelove| | 2017-11-21 10:04 | 只看该作者
cxelove 发表于 2017-11-21 10:03
我现在是用IRQ中断开启和关闭10ms定时器,定时中断里面读取fifo数量 然后一次读取多个出来,这样的话有数 ...

单个串口试过 没有同时试

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则