基于DSP28377D的SCI串口数据发送与调试

需积分: 10 3 下载量 145 浏览量 更新于2024-09-02 收藏 4KB TXT 举报
本资源是一份名为 "initsci.c" 的自定义DSP(数字信号处理器)程序,主要用于在基于TI DSP28377D的系统中实现串口数据发送功能。编写者在2017年8月14日创建了这个项目,主要关注点是通过SCI(同步通信接口)进行串行通信,包括初始化配置、中断处理和数据传输。 首先,程序导入必要的头文件并设置了一些常量,如CPU频率、LSPCLK(时钟分频)、SCI频率等。SCI_PRD宏用于计算发送波特率相关的定时器预设值,确保数据的正确发送。RXNUM定义了接收缓冲区的大小,这里是8个字符。MAXLENGTH限制了发送数据的长度,最大为4个字符,所有数据存储在MAXLENGTH大小的数组AllData中。 接下来,程序定义了几个函数:SciIOCfg()用于配置SCI模块,scic_xmit()负责发送单个字符或数组中的数据,scid_fifo_init()初始化SCI的FIFO(缓冲区),以及两个中断服务函数scidRxFifoIsr()和scidTxFifoIsr(),分别处理接收和发送FIFO的中断事件。isrCount和ErrorCount用于计数中断次数和错误发生次数。 在主函数中,程序初始化了系统控制、GPIO、中断控制器和中断向量表,然后禁止全局中断,开启中断服务函数的指向,并设置中断触发条件。然后调用scid_fifo_init()设置FIFO,接着发送预先定义的字符数组sdata,每个字符转换为ASCII码后加0x30后再发送,最后启用CPU中断。 值得注意的是,代码中存在一些未完成的部分,比如scidRxFifoIsr()和可能存在的bug,这表明作者希望读者帮助查找和修复。此外,程序中有一个明显的注释"ж"表示这部分功能尚未实现或者有疑虑,这可能是接收数据的部分或者与中断处理相关。 总结来说,这份代码提供了使用DSP28377D开发自定义串口通信模块的基础框架,包含硬件配置、中断管理、数据发送和基本的中断处理。为了实现完整的功能,开发者需要根据代码中的指示,尤其是未完成部分,进行调试和修改,同时注意处理可能存在的错误。