硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1218|回复: 4
收起左侧

[DSP] 请问DSP28335的485通讯波特率最大能设置多少?

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2024-11-16 20:49:53 | 显示全部楼层 |阅读模式
void main()
{
        Uint16 ReceivedChar;
        char *msg;

        InitSysCtrl();
        InitPieCtrl();
        IER = 0x0000;
        IFR = 0x0000;
        InitPieVectTable();

        LED_Init();
        TIM0_Init(150,200000);//200ms
        RS485_Init(256000);
        RS485_DIR_SETH;
        DELAY_US(5);
        msg =  "\r\n*******welcome to prechin**********\0";
        RS485_SendString(msg);

        while(1)
        {
                msg = "\r\nEnter a character: \0";
                RS485_SendString(msg);
                DELAY_US(2);
                RS485_DIR_SETL;
                ScibRegs.SCICTL1.bit.SWRESET=0;
                DELAY_US(2);
                ScibRegs.SCICTL1.bit.SWRESET=1;
                // Wait for inc character
                while(ScibRegs.SCIRXST.bit.RXRDY !=1); // wait for XRDY =1 for empty state
                // Get character
                ReceivedChar = ScibRegs.SCIRXBUF.all;
                RS485_DIR_SETH;
                DELAY_US(5);
                // Echo character back
                msg = "you enter is:\0";
                RS485_SendString(msg);
                RS485_SendByte(ReceivedChar);
        }
}
我设置的这个波特率超过256000就发送乱码了 不知道为什么 想请教一下大佬

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2024-11-17 11:39:39 | 显示全部楼层
没测试过28335, 不过你说的这个波特率确实很低。示波器测试下波特率值是否正常设置了
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2024-11-24 09:50:42 | 显示全部楼层
eric2013 发表于 2024-11-17 11:39
没测试过28335, 不过你说的这个波特率确实很低。示波器测试下波特率值是否正常设置了

好的 非常谢谢 目前我这个最高设置成256000 还是搞不清楚是什么问题
回复

使用道具 举报

0

主题

7

回帖

7

积分

新手上路

积分
7
发表于 2024-12-12 15:15:01 | 显示全部楼层
接收方是电脑还是TMS320F28335,高波特率必须启用FIFO,并且设置中断缓存区数据为1,响应中断时将FIFO数据一次性读空。否则会由于中断响应不及时,造成数据丢失,同时报溢出。试过1M的波特率是正常的,不过二头均是TMS320F28335,且任务不多,中断优先级高,足够处理数据。你是485通讯,还要注意方向切换的时间,485总线空闲电平是否得当(A比B高200mv以上,可通过主站加上下拉电阻实现),否则也会通讯不正常。
回复

使用道具 举报

0

主题

7

回帖

7

积分

新手上路

积分
7
发表于 2024-12-12 15:28:06 | 显示全部楼层
方向切换延时2us,是发送函数中有检查发送完成再延时2us吗?否则那个延时绝对不够,发送一个字节最少需要39.0625us,要确保最后一个字节从移位寄存器发出,最少都需要40us等待。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-9 22:53 , Processed in 0.250820 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表