请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F280045 主题中讨论的其他器件:C2000WARE
尊敬的团队:
根据以下配置、我的客户使用 Lin 端口作为 SCI 功能。 在100MHz 频率下测试 SYSCLK 时钟时、该引脚没有数据、示波器无法看到波形。
配置是否有问题?
CpuSysRegs.PCLKCR19.bit.LIN_A = 1; // LIN Drv_GPIO_SetupPinMux(33, GPIO_MUX_CPU1, 6);//LIN-A RX Drv_GPIO_SetupPinOptions(33, GPIO_INPUT, (GPIO_PULLUP + GPIO_ASYNC)); Drv_GPIO_SetupPinMux(58, GPIO_MUX_CPU1, 9);//LIN-A TX Drv_GPIO_SetupPinOptions(58, GPIO_OUTPUT, GPIO_PULLUP); //Allow write to protected registers EALLOW; LinaRegs.SCIGCR0.bit.RESET = 0; //Into reset LinaRegs.SCIGCR0.bit.RESET = 1; //Out of reset LinaRegs.SCIGCR1.bit.SWnRST = 0; //Into software reset //SCI Configurations LinaRegs.SCIGCR1.bit.COMMMODE = 0; //Idle-Line Mode LinaRegs.SCIGCR1.bit.TIMINGMODE = 1; //Asynchronous Timing LinaRegs.SCIGCR1.bit.PARITYENA = 1; //Parity enabled. A parity bit is generated during transmission and is expected during reception LinaRegs.SCIGCR1.bit.PARITY = 0; //Odd Parity LinaRegs.SCIGCR1.bit.STOP = 0; //One Stop Bit LinaRegs.SCIGCR1.bit.CLK_MASTER = 1; //Enable SCI Clock LinaRegs.SCIGCR1.bit.LINMODE = 0; //SCI Mode LinaRegs.SCIGCR1.bit.SLEEP = 0; //Ensure Out of Sleep LinaRegs.SCIGCR1.bit.MBUFMODE = 1; //The multi-buffer mode is enabled. LinaRegs.SCIGCR1.bit.LOOPBACK = 0; //External Loopback 0 LinaRegs.SCIGCR1.bit.CONT = 1; //Continue on Suspend //Set baudrate LinaRegs.BRSR.bit.M = 8; LinaRegs.BRSR.bit.SCI_LIN_PSL = 324; //Baud = 9600bps(9600bps) LinaRegs.BRSR.bit.SCI_LIN_PSH = 0; LinaRegs.SCIGCR1.bit.RXENA = 1; //Enable RX LinaRegs.SCIGCR1.bit.TXENA = 1; //Enable TX LinaRegs.SCIPIO0.bit.RXFUNC = 1; // configure the LINRX and LINTX pins for SCI LinaRegs.SCIPIO0.bit.TXFUNC = 1; //Ensure IODFT is disabled LinaRegs.IODFTCTRL.bit.IODFTENA = 0x0; //Set transmission length LinaRegs.SCIFORMAT.bit.CHAR = 7; //Eight bits LinaRegs.SCIFORMAT.bit.LENGTH = 0; //4 byte 3 LinaRegs.SCIGCR1.bit.SWnRST = 1; //bring out of software reset //Disable write to protected registers EDIS;
此致