TMS320F28335 SCI串口驱动程序

需积分: 12 7 下载量 19 浏览量 更新于2024-09-09 收藏 69KB DOCX 举报
“这是一个针对TMS320F28335 DSP的SCI(Serial Communication Interface)串口驱动程序,作者提供了头文件MySci.h和实现文件MySci.c,适用于CCSv5.2开发环境,工作频率为60MHz。驱动程序支持38400波特率的串口通信,采用中断方式处理发送和接收,优化了发送过程,无需额外的等待。” 在嵌入式系统中,SCI串口驱动程序是连接微控制器与外部设备进行数据通信的重要组成部分。TMS320F28335是一款高性能的C28x DSP处理器,由德州仪器(TI)制造,广泛应用于工业控制、自动化等领域。SCI接口是该处理器内置的一种通用串行通信接口,可以实现与各种串行设备如显示器、打印机、其他微控制器等的通信。 在这个驱动程序中,`MySci.h`包含了SCI串口的初始化函数`MySci_init()`以及发送数据的函数`MySci_send()`。`MySci_init()`用于配置SCI模块的工作模式,如波特率设置(这里是38400bps)、数据位、停止位和校验位等,同时也会开启接收和发送中断。`MySci_send()`函数接受一个字符指针和长度作为参数,将数据送入发送FIFO,并在发送中断服务程序中处理发送完成的情况。 `MySci.c`文件中,定义了中断服务程序`rece_isr()`和`tx_isr()`。接收中断服务程序处理接收到的数据,将其存储到接收缓冲区`receiver_data_buff[]`,并更新接收计数器`receiver_counter`。发送中断服务程序则是在数据发送完成后清除发送FIFO,准备接收新的数据。 程序中的`Sci_send_data`结构体用于存放待发送数据的地址和长度,方便在发送过程中管理数据。全局变量`receiver_counter`记录了接收到的字节数,`receiver_data_buff`是用于存储接收数据的缓存,大小为50个字符。 这个驱动程序的优点在于其中断驱动的方式,提高了系统的实时性,因为在发送数据时,CPU可以继续执行其他任务,而不需要一直忙于等待发送完成。此外,对于接收,中断处理方式也能确保数据的及时处理,避免丢失。 这个SCI串口驱动程序为开发者提供了一个基础框架,便于在TMS320F28335平台上快速实现串口通信功能,从而可以轻松地与其他设备进行数据交互。开发者可以根据实际需求对中断服务程序和发送接收逻辑进行扩展和优化,以满足更复杂的通信需求。