CCS配置MSPM0G3507(四) 串口通信
·
一.syscfg
(1).Quick Profiles
UART Profiles 选择 Custom (自定义)
(2).Basic Config
1.选择时钟源 LFCLK低速时钟可配置 Baud Rate 为 9600
若要配置为 115200 则需要更高速的时钟
2.选择时钟分频
3.配置Baud Rate
4.配置数据位、奇偶校验、停止位
(3).Advanced Config
1.设置UART Mode 默认设置Normal UART Mode
2.选择通信方向,默认TX 和 RX 都使用
3.过采样
(4)Interrupt Config
1.使能中断
这里只使能接收中断
(5)Pin Config
TX为高速输出
RX为高速输入
(6)Pin Mux
1.选择使用哪个串口
2.选择TX与RX引脚
二.代码
1.初始化
volatile uint8_t gEchoData = 0; //存储收到的串口数据
int main(void)
{
SYSCFG_DL_init();
NVIC_ClearPendingIRQ(UART_0_INST_INT_IRQN); //先清除一次中断
NVIC_EnableIRQ(UART_0_INST_INT_IRQN); //开启串口接收中断
while (1) {
}
}
2.编写串口接收中断服务函数
void UART_0_INST_IRQHandler(void)
{
switch (DL_UART_Main_getPendingInterrupt(UART_0_INST)) {
//关注RX接收数据事件
case DL_UART_MAIN_IIDX_RX:
DL_GPIO_togglePins(GPIO_LEDS_PORT,
GPIO_LEDS_USER_LED_1_PIN | GPIO_LEDS_USER_TEST_PIN);
gEchoData = DL_UART_Main_receiveData(UART_0_INST);
DL_UART_Main_transmitData(UART_0_INST, gEchoData);
break;
default:
break;
}
}
3.重要函数
发送/接收一个字节的数据
gEchoData = DL_UART_Main_receiveData(UART_0_INST); //接收数据
DL_UART_Main_transmitData(UART_0_INST, gEchoData); //发送数据
更多推荐
已为社区贡献8条内容
所有评论(0)