1. 概述
    1. UART驱动程序负责按照UART协议提供通信服务。asclin模块为实现UART协议提供了异步通信的硬件支持。UART驱动程序提供了配置、初始化、数据传输和接收的功能,还提供了可选的特性,如中止传输和中止接收。
    2. asclin模块支持 lin、spi 和 uart 的通信服务。

 

  1. 依赖硬件

 

  1. 详细配置

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 中是软件自动生成的版本号默认值,用户无需修改,保持默认即可。

 

posted on 2023-03-03 10:27  lance9527  阅读(557)  评论(0编辑  收藏  举报