2025-11-08 07:01:59
要写好这个驱动得先看设备树怎么配。比如在设备树里找对应的uart节点,把波特率设成115200,数据位8个,停止位1个,校验无。然后写初始化函数让硬件能收发数据,加个测试程序用串口工具看能不能传数据。
为啥得这么干呢?设备树是Linux系统给硬件做标记的,就像给每个UART起名字。比如树莓派 Zero的设备树里写着"uart1"和"uart2",分别对应板载串口和蓝牙模块。Linux设备树文档说波特率默认是115200,数据位8个最常用。实际测试过STM32的例子,波特率设错的话收不到数据,像去年我写代码波特率放反了,结果收了一堆乱码。设备树里写"baudrate=115200"就能自动算出对应的时钟分频值。
本题链接: