hc32f460 口驱动
时间: 2023-10-05 18:07:50 浏览: 173
ht1381在华大HC32F460JETA的驱动
HC32F460芯片上有4路串口,驱动使用了HC32官方的库函数来实现。一般的初始化流程如下代码所示:
```c
stc_usart_uart_init_t init;
memset(&init, 0, sizeof(init));
init.enClkMode = UsartIntClkCkNoOutput;
init.enClkDiv = UsartClkDiv_1;
init.enDataLength= UsartDataBits8;
init.enDirection = UsartDataLsbFirst;
init.enStopBit = UsartOneStopBit;
init.enParity = (en_usart_parity_t)parity;
init.enSampleMode= UsartSampleBit8;
init.enDetectMode= UsartStartBitFallEdge;
init.enHwFlow = UsartRtsEnable;
USART_UART_Init(hw->uart, &init);
USART_SetBaudrate(hw->uart, baudrate);
USART_FuncCmd(hw->uart, UsartTx, Enable);
USART_FuncCmd(hw->uart, UsartRx, Enable);
USART_FuncCmd(hw->uart, UsartRxInt, Enable);
```
HC32F460还提供了一个模板工程,支持IAR和MDK开发环境,内涵ADC、GPIO、外部中断、通用GPIO、FLASH读写、串口、定时器和看门狗驱动二次封装。使用该模板工程能够方便地进行开发。
在实际项目中,如果接入了一个RS485设备,可能会出现无法正常接收数据的问题。故障表现是MCU不进入接收中断。经过检查硬件,没有发现问题,示波器能够看到引脚有波形过来。最后通过Keil的外设查看窗口,发现UART的寄存器中SR的FE标记被置为1。这表示接收到的数据帧存在错误。
如果你需要更详细的信息,可以参考国产MCU华大HC32F460系列芯片的软硬件开发资料、SDK包和应用设计笔记。这些资料包括HC32F460 EVB介绍、仿真器、最小开发工程模板、硬件Demo板参考原理图、编程工具、集成开发环境支持包、驱动库及样例等。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文