C2000 SCI

1. 目标:

通过SCI串行通信总线实现PC和DSP之间的数据交互
重点:可以实现PC端向DSP批量写入数据

调试环境概述:

开发板:F28388D controlCARD 评估模块
CCS版本:Code Composer Studio 9.1.0
SDK: C2000Ware_MotorControl_SDK_2_01_00_00
使用例程:sci/sci_ex1_echoback(可以通过SCI收发数据)

调试流程:

  1. 下载程序到开发板
  2. 在电脑端通过串口助手查看收到的数据
  3. 通过串口助手向DSP发送数据

重点:

  1. 需要一个可以发送单个数据和数据文件的串口助手
    网上并没有找到,所以我自己写一个
    在这里插入图片描述
    在这里插入图片描述

调试效果:

1 打开文件

在这里插入图片描述

2 写入数据:

在这里插入图片描述
在这里插入图片描述

数据文件如下:

>

注:必须是 .dlx结尾的文件,数据格式逗号分开

2. SCI时钟

硬件环境

主控芯片: TMS320F280049C

板卡: LAUNCHXL-F280049C
C2000 Piccolo MCU F280049C LaunchPad™ 开发套件
在这里插入图片描述

先来看时钟树

在这里插入图片描述
这里的SYSCLK为100MHZ(请参考 28388Clock)
那么要去到SCI,还要经过1个分频寄存器(LOSPCP)和1个使能寄存器PCLKCRx

1. LOSPCP

在这里插入图片描述
在这里插入图片描述
在线仿真的时候就可以查看该寄存器的值,该值的设置位于:
Device_init() == >
SysCtl_setLowSpeedClock(SYSCTL_LSPCLK_PRESCALE_4);
根据文档描述我们这里进行4分频操作,那么100MHZ的SYSCLK就变成了 100MHZ/4 = 25MHZ

2. PCLKCRx

这个寄存器去看了发现就是个使能寄存器,这个x到底是多少具体看外设是什么,比如SCI就是PCLKCR7
在这里插入图片描述

3. SCI Auto-Baud

开启 Auto-Band 功能,如何开启?

在这里插入图片描述

上述方法缺陷

在第(2)步SCI模块会等待上位机发送字符 ‘A’ 或者 ‘a’ 来完成SCI自动波特率检验,并且在这里死循环等待。

补充:

如果检验完成之后,又需要重新调整波特率,那么需要重新调用 SCI_lockAutobaud(SCIA_BASE); 函数

4. SCI数据位宽

在这里插入图片描述
one to eight bits.
这里作死想发一个2字节,事实证明确实只能发一个字节。
在这里插入图片描述

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值