“线程:AFE031”中讨论的其它部件
你(们)好
我的项目使用 SCI A 到 RS485。 下面是我的配置代码
代码[1]
sci_setConfig (SCIA_base,25000000,ulBaudRate,(wlen |
秒数|
奇偶校验);
sci_resetChannels (SCIA_base);
SCI_CLEARInterruptStatus (SCIA_BASE,SCI_INT_TXRDY | SCI_INT_RXRDY_BRKDT);
sci_enableModule (SCIA_base);
SCI 性能软件重置(SCIA_BASE);
sci_enableInterrupt (SCIA_base,SCI_INT_TXRDY | SCI_INT_RXRDY_BRKDT);
SCI_CLEARInterruptStatus (SCIA_BASE,SCI_INT_TXRDY | SCI_INT_RXRDY_BRKDT);
Interrup_enable (INT_SCIA_RX);
Interrup_enable (INT_SCIA_TX);
设置工作正常,然后我添加了 SPI 模块 B 来控制 TI AFE031代码[2]
添加 SPI 模块,用于 IC 和 MCU 之间的通信。 下面是配置 SPI B 的代码
代码[2]
GPIO 设置引脚 Mux (16,GPIO MUX_CPU1,0);
GPIO 设置引脚选项(16,GPIO 输出,GPIO PushPull)
GPIO 写入引脚(16,0);
SpibRegs.SPIFFTX.ALL = HAL_SPI_FFTX;
SpibRegs.SPIFFRX.ALL = HAL_SPI_FFRX;
SpibRegs.SPIFFCT.ALL = 0x0;
EALLOW;
ClkCfgRegs.LOSPCP.all = HAL_SPI_LSPCLK;
EDIS;
SpibRegs.SPICCR.Bit.SPISWRESET =0;
SpibRegs.SPICCR.Bit.CLKPOLARITY =1;
SpibRegs.SPICCR.bit.SPILBK = 0;
SpibRegs.SPICCR.Bit.SPICHAR = 15;//16位字符
SpibRegs.SPICCR.bit.HS_mode = 0x1;
SpibRegs.SPICTL.Bit.SPIINTENA = 0;//中断禁用
SpibRegs.SPICTL.bit.Talk = 1;//传输启用
SpibRegs.SPICTL.bit.master_slave = 1;//Master
SpibRegs.SPICTL.Bit.CLK_PHASE = 0;//正常相位,取决于 SPICCR.6 (时钟极性)
SpibRegs.SPICTL.Bit.OVERRUNINTENA = 0;//溢出中断禁用
SpibRegs.SPIBRR.Bit.SPI_bit_rate = HAL_SPI_BRR;
SpibRegs.SPIPRI.Bit.free =1; //设置断点时,断点不会干扰 xmission
SpibRegs.SPICCR.Bit.SPISWRESET =1;//准备传输
UART 模块 A (SCI)未执行代码[2]。 如果代码[2]未执行,UART 功能将恢复。
我将 SCI A 用于 UART,而 SPI B 用于不同功能。 我认为他们不应该相互影响。
有什么想法吗?