13403|38

1万

帖子

26

TA的资源

裸片初长成(高级)

楼主
 

【C2000 LaunchPad】UART作为调试监视 [复制链接]

UART作为调试监视
C2000 LaunchPad带的V2版仿真器,不仅有仿真调试功能,也有串口----UART功能,
在调试时,使用它的UART来监视CPU的运行情况也是一个很好的办法。
F28027UART输出字符,可以使用自己编制的函数,也可以使用通用的printf函数;
使用printf时,需要修改CMD文件等(以后另作讨论),比较麻烦。TI关于printf使用的说明 http://processors.wiki.ti.com/index.php/Tips_for_using_printf#Hello.2C_world.21,需要时可以参阅。
这里仅使用uart_sendstring函数完成。
C28 CPUSCI具有强大的功能,可以自动检测波特率、可以多处理器通讯等
一、UART设置
1、端口功能设置InitSciaGpio()
在主程序中加入InitSciaGpio()语句。这个函数使用TI提供的,不作任何修改。
2SCI寄存器设置scia_fifo_init()
关于波特率,给了个公式:
      BRR = LSPCLK / ( Baud * 8 ) – 1
15 MHzLSPCLK时,只有300600的波率时计算出的BRR没有小数。LSPCLK时钟是
InitPeripheralClocks()函数中设置的:
SysCtrlRegs.LOSPCP.all = 0x0002;
一般不建议对它作修改。
TI给出了几个计算值及误差,如下表:
LSPCLK Clock Frequency, 15 MHz
Ideal Baud
BRR
Actual Baud
% Error
2400
780(30Ch)
2401
0.03
4800
390(186h)
4795
-0.10
9600
194(C2h)
9615
0.16
19200
97(61h)
19133
-0.35
38400
48(30h)
38265
-0.35
经实验,115200波特率下,发送字符可以在电脑上正常接收。
二、查询方式的数据发送
void scia_xmit(int a)
{
    while (SciaRegs.SCIFFTX.bit.TXFFST != 0) {}
    SciaRegs.SCITXBUF=a;
}
void uart_sendstring(char * ch)
{
    Uint16 i = 0;
    while(ch != '\0')
    {
        scia_xmit(ch);
        i++;
    }
}
三、使用结果
在主函数中加入:
uart_sendstring(“EEWorld\n”);
得:

最新回复

楼主,求SCI串口接收数据程序啊.....  详情 回复 发表于 2013-8-20 15:04

点评

我的例程传到10楼了。 [ 本帖最后由 dontium 于 2012-12-5 12:17 编辑 ]  详情 回复 发表于 2012-12-5 12:15
 
点赞 关注(1)

回复
举报

1万

帖子

26

TA的资源

裸片初长成(高级)

沙发
 
UART作为调试监视.pdf (158.77 KB, 下载次数: 430)
 
 

回复

2781

帖子

419

TA的资源

五彩晶圆(中级)

板凳
 
赶紧学习!
请问32位的该怎么学习编程呢?
 
个人签名
 
 

回复

186

帖子

24

TA的资源

一粒金砂(高级)

4
 
不错不错,用板子实验一下 跟着dontinum学习
 
 
 

回复

2606

帖子

0

TA的资源

五彩晶圆(初级)

5
 
还没有仔细去check ,先设个精华,有空跟着楼主学习。

点评

谢谢。 你是这个版块的版主。能得到版主的认同,很高兴。  详情 回复 发表于 2012-11-30 20:58
 
个人签名工程 = 数学+物理+经济
 
 

回复

1万

帖子

26

TA的资源

裸片初长成(高级)

6
 

回复 5楼 安_然 的帖子

谢谢。
你是这个版块的版主。能得到版主的认同,很高兴。
 
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

7
 
跟着DON学习。
 
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 

回复

222

帖子

0

TA的资源

一粒金砂(高级)

8
 
按照楼主的试验了一下。没成功,收到的是乱码,是因为波特率的问题吗

点评

很可能是波特率问题,但也不排除设置问题。 你可以看看TI文档的说明。波特率在300及600时,误差为0。 在我的电脑上,使用115200时,虽然它的误差很大,但接收字符正常, 你可以多试一下其它的波特率,或者上位  详情 回复 发表于 2012-12-5 12:09
 
 
 

回复

1万

帖子

26

TA的资源

裸片初长成(高级)

9
 

回复 8楼 luooove 的帖子

很可能是波特率问题,但也不排除设置问题。
你可以看看TI文档的说明。波特率在300及600时,误差为0。
在我的电脑上,使用115200时,虽然它的误差很大,但接收字符正常,

你可以多试一下其它的波特率,或者上位机软件中的波特率改一下看看。
 
 
 

回复

1万

帖子

26

TA的资源

裸片初长成(高级)

10
 

回复 楼主 dontium 的帖子

我的例程传到10楼了。

F28027_PWM.rar (188.59 KB, 下载次数: 218)

[ 本帖最后由 dontium 于 2012-12-5 12:17 编辑 ]
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

11
 
我的串口调试软件为什么不能换行,加了\n

点评

可以用HEX的方式显示一下,看看到底收到了‘\\n \' 这个字符了没有。 有时候很可能是上位机问题。  详情 回复 发表于 2012-12-5 15:24
 
 
 

回复

1万

帖子

26

TA的资源

裸片初长成(高级)

12
 

回复 11楼 jianghehupo 的帖子

可以用HEX的方式显示一下,看看到底收到了‘\n ' 这个字符了没有。

有时候很可能是上位机问题。
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

13
 
肯定受到了,用文本方式直接显示“\n”,看到你用的是sscom,我试了一下也不行

点评

既然换行字符收到了,不换行应该是上位机的问题。 你将两个字符都加上: \\n\\r 看这样看行不行 [ 本帖最后由 dontium 于 2012-12-5 16:07 编辑 ]  详情 回复 发表于 2012-12-5 16:00
 
 
 

回复

1万

帖子

26

TA的资源

裸片初长成(高级)

14
 

回复 13楼 jianghehupo 的帖子

既然换行字符收到了,不换行应该是上位机的问题。

你将两个字符都加上:

\n\r

看这样看行不行

[ 本帖最后由 dontium 于 2012-12-5 16:07 编辑 ]
 
 
 

回复

373

帖子

0

TA的资源

纯净的硅(中级)

15
 

顶楼主啊

绝对牛的楼主啊
 
 
 

回复

373

帖子

0

TA的资源

纯净的硅(中级)

16
 
顶啊

[ 本帖最后由 wudayongnb 于 2012-12-11 20:00 编辑 ]
 
 
 

回复

373

帖子

0

TA的资源

纯净的硅(中级)

17
 
今天上午,怎么调都不成功,晚上程序也没怎么变,居然成功了,不知道怎么回事

点评

我也发现使用CCS时,有时候需要重启,有时候需要clean一下。  详情 回复 发表于 2013-1-17 12:06
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

18
 
请教一下版主
为什么查询方式的数据发送
主函数里去掉
        PieCtrlRegs.PIEIER9.bit.INTx1 = 1;                // SCI RX interrupt
        PieCtrlRegs.PIEIER9.bit.INTx2 = 1;                // SCI TX interrupt
就不能运行了呢

点评

因为发送时,是在中断函数里做的。接收中断的那个还没有搞好,只是预留在那里。  详情 回复 发表于 2013-1-17 12:08
 
 
 

回复

1万

帖子

26

TA的资源

裸片初长成(高级)

19
 

回复 17楼 wudayongnb 的帖子

我也发现使用CCS时,有时候需要重启,有时候需要clean一下。
 
 
 

回复

1万

帖子

26

TA的资源

裸片初长成(高级)

20
 

回复 18楼 常见泽1 的帖子

因为发送时,是在中断函数里做的。接收中断的那个还没有搞好,只是预留在那里。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表