完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
采用STM32L151+CH432T+TP8485搭建了一个系统用于485通信,现在初始化CH432T和通过CH432T发送命令没问题,此时设备会回复一段数据,从CH432T的RX1用示波器也能看到返回的所有数据。因为返回数据大于16B,我设置FIFO 14B触发,我理解会在INT#上产生一个触发,STM32中断后读取即可,但是无论是示波器看还是STM32均没有看到这个中断。直接读取也能读取到返回数据的一部分...但是不全
一开始觉得可能是INT#直接连STM32不行,之后就接了一个10kohm电阻上拉,也还是同样的问题。请教下论坛的大神,有没有其他思路,还是我理解的这个INT#不对。 初始化配置参考了DEMO如下 //设置串口0配置div = (CLK_FREQ>>4)/CH432_PRORT1_RATE; u8DLMValue = div>>8; u8DLLValue = div&0xff;writeCH432Data( REG_LCR_ADDR, BIT_LCR_DLAB ); /* 设置DLAB为1 */ writeCH432Data( REG_DLL_ADDR, u8DLLValue ); /* 设置波特率 */ writeCH432Data( REG_DLM_ADDR, u8DLMValue );writeCH432Data( REG_FCR_ADDR, BIT_FCR_RECVTG1 | BIT_FCR_RECVTG0 | BIT_FCR_FIFOEN ); /* 设置FIFO模式,触发点为14 */ writeCH432Data( REG_LCR_ADDR, BIT_LCR_WORDSZ1 | BIT_LCR_WORDSZ0 ); /* 字长8位,1位停止位、无校验 */ writeCH432Data( REG_IER_ADDR, BIT_IER_IEMODEM | BIT_IER_IELINES | BIT_IER_IETHRE | BIT_IER_IERECV ); /* 使能中断 */ writeCH432Data( REG_MCR_ADDR, BIT_MCR_OUT2 | BIT_MCR_RTS | BIT_MCR_DTR ); /* 允许中断输出,DTR,RTS为1 */ |
|
相关推荐
2个回答
|
|
在收到了设备回复的数据之后,432的INT脚是高电平还是低电平的?主控为ST单片机的时候经常遇到的问题是我们的中断是电平型的中断,而ST的中断触发条件是边沿型的,就会出现432初始化结束就产生发送空中断,导致数据接收之后并没有产生新的的中断边沿,只是单片机没有能够进入中断。
|
|
|
|
INT脚始终是低电平,我一直拿示波器看着, 没有任何电平变化。
|
|
|
|
只有小组成员才能发言,加入小组>>
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2607 浏览 2 评论
2139 浏览 1 评论
ch554g的板子准备烧录程序,用串口总是显示等待设备连接是为啥
1014浏览 14评论
请问ch32v307用ch-link调试或者读写有什么特殊操作方法吗?
908浏览 13评论
Windows系统下如何确定COM口为CH340/CH341设备?
2234浏览 12评论
686浏览 12评论
CH32V307以太网接近满速后,几秒或几十秒后就死机怎么解决?
1971浏览 11评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-4 04:56 , Processed in 0.599862 second(s), Total 47, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号