-
概述
- UART驱动程序负责按照UART协议提供通信服务。asclin模块为实现UART协议提供了异步通信的硬件支持。UART驱动程序提供了配置、初始化、数据传输和接收的功能,还提供了可选的特性,如中止传输和中止接收。
- asclin模块支持 lin、spi 和 uart 的通信服务。
- 依赖硬件
- 详细配置
container:UartGeneral 中包含uart的通用配置参数;
UartDevErrorDetect 用于指定是否启用开发错误诊断,本例中禁用;
UartRunTimeError 用于指定是否启用运行时错误诊断,本例中禁用;
UatrSafetyEnable 用于指定是否启用安全模式,默认禁用;
UartVersionInfoApi 用于指定是否启用版本信息api接口,默认禁用;
UartInitCheckApi 用于指定是否启用初始化检查api接口,本例中启用;
UartDeInitApi 用于指定是否启用失能api接口,本例中启用;
UartAbortReadApi 用于指定是否启用终止读api接口,本例中启用;
UartAbortWriteApi 用于指定是否启用终止写api接口,本例中启用;
UartClockRef 用于指定模块内核时钟源引用,在MCU下属container:McuPllDistributionSettingConfig中选择使用使用源 ASCLINS_CLOCK_SOURCE_ASCLINSI_SEL1,使用慢速的80MHz作为模块内核时钟;
UartCsrClksel 用于指定波特率逻辑时钟,支持ASCLINF和ASCLINS,由于上面时钟源选择慢速,故这里选择ASCLINS;
UartSleepEnable 用于指定是否启用Sleep模式,默认禁用;
UartIndex 用于指定模块实例标识符,从0开始计,逐增;
UartInitDeInitApiMode 用于指定初始化和反初始化api工作在MCAL_SUPERVISOR即特权模式下;
UartTimeoutCount 用于指定等待硬件超时错误的最大时间(以纳秒为单位),保持默认最大值即可;
UartMainFunctionReadPeriod 用于指定主函数Uart_MainFunction_Read的轮询周期(以秒为单位);
UartMainFunctionWritePeriod 用于指定主函数UartMainFunctionWritePeriod的轮询周期(以秒为单位);
container:UartConfigSet 中包含uart模块的具体配置参数;
sub-container:UartChannel 中包含uart通道的配置参数,一组tx和rx构成一个UartChannel;
UartBaudRate 用于指定串口波特率值,本例中115200bps;
UartHwUnit 用于指定该通道使用的真实ASCLIN控制器序号,本例中使用ASCLIN10;
UartChannelId 用于指定通道序号,从0开始计,逐增;
UartAutoCalcBaudParams 用于指定是否启用波特率参数值自动计算,本例中启用,建议启用;
UartChanBaudNumerator 用于指定用于波特率计算的BRG寄存器分子值;
UartChanBaudDenominator 用于指定用于波特率计算的BRG寄存器分母值;
UartChanBaudPrescalar 用于指定用于波特率计算的BITCON寄存器预计算值;
UartChanBaudOverSampling 用于指定用于波特率计算的采样值之上的BITCON寄存器;
UartRxPinSelection 用于指定rx引脚的选择;本例中为Port13_Pin1;
UartCTSEnable 用于指定是否启用CTS流控,默认禁用;
UartCTSPinSelection 用于指定cts引脚的选择;本例中未启用流控无需选择;
UartCTSPolarity 用于指定CTS引脚的有源极性,即cts处于逻辑活动状态时对应的物理电平值;
UartDataLength 用于指定通道的数据帧长,默认使用8,即8bit;
UartStopBits 用于指定停止位个数,默认1个停止位;
UartParityBit 用于指定是否启用奇偶校验以及具体校验方式,本例中禁用,选择NOPARITY;
UartTxChannelMode 用于指定tx通道传输运行模式,支持轮询和中断两种模式,如果选择轮询模式则无需配置Irq;
UartRxChannelMode 同上;
UartTransmitNotifPtr 发送完成通知回调函数;
UartReceiveNotifPtr 接收完成通知回调函数;
UartAbortTransmitNotifPtr 终止发送通知回调函数;
UartAbortReceiveNotifPtr 终止接收通知回调函数;
container:McuHardwareResourceAllocationConf 的
sub-container:McuAscLinAllocationConf 中选择 AscLin10 通道使用ASCLIN_CH_USED_BY_UART_DRIVER功能
container:IrqASCLINConfig 用于指定中断的分类,优先级和处理者;本例中AscLin10的中断分类全选CAT1,处理者全选CPU0,优先级依次选择3个互不相等的非0值;
PORT中选择Port13的Pin0和1分别作为AscLin10的tx和rx;
container:CommonPublishedInformatica 中是软件自动生成的版本号默认值,用户无需修改,保持默认即可。