打印
[STM32F1]

stm32107和103的rs485通信

[复制链接]
1538|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yinxiangh|  楼主 | 2022-12-4 14:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了主机和从机的程序,两块107可以进行询问——应答方式的485通信,现在把程序移植到103上面,不行

使用特权

评论回复
沙发
wuhany| | 2022-12-4 14:20 | 只看该作者
然后呢?你是怎么应对这个的呢        

使用特权

评论回复
板凳
yinxiangh|  楼主 | 2022-12-4 14:22 | 只看该作者
我是用数组保存数据帧的,在数据帧发送或接收完成前板子时钟保持发送或接收的状态。标志位用到的是TXE和RXNE,通过中断方式。把运行过程的中间参数发送到串口调试助手上看,发现接收到的数据帧(其实是一个个的字母组成)中间出现大量空格,字符串不能连续显示,也有接收的字符与显示的不一致。

使用特权

评论回复
地板
jiahy| | 2022-12-4 14:24 | 只看该作者
跟两个芯片的时钟频率不一样有关吗?

使用特权

评论回复
5
yinxiangh|  楼主 | 2022-12-4 14:26 | 只看该作者
但我感觉好像系统里面都是配置到72M的

使用特权

评论回复
6
stly| | 2022-12-4 14:29 | 只看该作者
先检查波特率问题

使用特权

评论回复
7
xxrs| | 2022-12-4 14:32 | 只看该作者
先确认波特率,简单的办法是借用PC来观察

使用特权

评论回复
8
wyjie| | 2022-12-4 14:34 | 只看该作者
确认波特率没有问题,可能是因为内存容量的变化导致了冲突,看编译后的lst文件即可获知。

使用特权

评论回复
9
stly| | 2022-12-4 14:36 | 只看该作者
设断点,调试看看

使用特权

评论回复
10
dengdc| | 2022-12-4 14:39 | 只看该作者
数据接得怎么样的

使用特权

评论回复
11
spark周| | 2022-12-4 14:41 | 只看该作者

if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
  {
        RxChar = USART_ReceiveData(USART3);        
        if(RxChar == 'E')
        {
            RxBuffer[RxCounter++] = RxChar ;
                USART_ITConfig(USART3,USART_IT_RXNE,DISABLE);
                flag = 1;
                RS232_SendData(RxChar);
                      for(i=0;i<RxCounter;i++)
                        {
                        RS232_SendData(RxBuffer);
                        }
        }
        else
        {
                RxBuffer[RxCounter++] = RxChar ;
                RS232_SendData(RxChar);
        }

使用特权

评论回复
12
zhaoxqi| | 2022-12-4 14:44 | 只看该作者
USART_ITConfig(USART3,USART_IT_RXNE,DISABLE);了
结束了又没打开,只能收到一个字节

使用特权

评论回复
13
zhenykun| | 2022-12-4 14:46 | 只看该作者
在RxBuffer[RxCounter++] = RxChar ; 前面加多一句长度判断吧counter的超长判断。

使用特权

评论回复
14
chuxh| | 2022-12-4 14:49 | 只看该作者
程序兼容的,先用示波器看下原因,一步步检查;

使用特权

评论回复
15
xxrs| | 2022-12-4 14:53 | 只看该作者
底层代码应该有所不同,看看官方的例子怎么写的底层,替换了。

使用特权

评论回复
16
huangchui| | 2022-12-4 14:55 | 只看该作者
这种通讯最好看下波形,波形很快帮你看到代码里的问题。

使用特权

评论回复
17
wenfen| | 2022-12-4 14:58 | 只看该作者
频率不同设置波特率肯定要修改参数

使用特权

评论回复
18
dengdc| | 2022-12-4 15:01 | 只看该作者
设断点,调试看看

使用特权

评论回复
19
MessageRing| | 2022-12-6 14:25 | 只看该作者
是不是波特率的问题

使用特权

评论回复
20
Stahan| | 2022-12-6 14:53 | 只看该作者
是不是信号没对上啊

使用特权

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

本版积分规则

723

主题

7134

帖子

2

粉丝