本帖最后由 stm1024 于 2019-3-11 23:26 编辑
最近一个月都挺忙的,经常出差,虽然有时间逛一下论坛,但是没时间仔细研究LPC1768这块神奇的板子,感觉和大家相比落后了。
今天终于有时间把串口这一部分看了一下,其实设置什么的都挺容易上手的,但是由于文档的错误导致我走了一些弯路。
先上代码:
- int main()
- {
- uint8_t x=0;
- LPC_IOCON->PINSEL[0]|=0x50;//巨坑
- Chip_UART_Init(UART_SELECTION);
- Chip_UART_SetBaud(UART_SELECTION, 115200);
- Chip_UART_ConfigData(UART_SELECTION, (UART_LCR_WLEN8 | UART_LCR_SBS_1BIT));
- Chip_UART_SetupFIFOS(UART_SELECTION, (UART_FCR_FIFO_EN | UART_FCR_TRG_LEV2));
- Chip_UART_TXEnable(UART_SELECTION);
- while(1)
- {
- Chip_UART_SendByte(UART_SELECTION,x++);
- Delay_ms(100);
- }
- //return 0;
- }
复制代码 中间坑爹的是,由于出差在外,不知道谁把我的232转USB拿走了,特么我买了一条以后,今天又找到了……
这个代码本来是想参考原来的那个ring buffer做个缩水版的,结果那个垃圾示例代码就是跑不通,拿着lpc的用户手册撸一遍,高度怀疑是IO口功能配置方面的问题,即PINSEL配置不对,加入那个注释为“巨坑”的一行代码以后,就没问题了,有图有真相:
(这张图说明不了任何问题)
通常串口的问题总是配置等方面的,如果单字节的发送是OK的话,可以忙目地相信多字节、中断等都不会是什么问题。
|