[技术问答]

029的串口1到底在BSP中怎么初始化?

[复制链接]
697|8
手机看帖
扫描二维码
随时随地手机跟帖
liuyu305|  楼主 | 2020-7-5 02:21 | 显示全部楼层 |阅读模式
崩溃了 ,用了官方的库函数的BSP,串口0是可以用,串口1死活用不了。有谁用过的,帮忙看一下。谢谢
    /* Enable UART peripheral clock */
    CLK_EnableModuleClock(UART1_MODULE);
    /* Select HIRC22MHZ as the clock source of UART0 */
    CLK_SetModuleClock(UART1_MODULE, CLK_CLKSEL1_UART_S_HIRC,CLK_CLKDIV_UART(1));       
    /* Set P1 multi-function pins for UART1 RXD and TXD  */
    SYS->P1_MFP &= ~(SYS_MFP_P12_Msk | SYS_MFP_P13_Msk);
    SYS->P1_MFP |= (SYS_MFP_P12_RXD1 | SYS_MFP_P13_TXD1);
        SYS_ResetModule(UART1_RST);  
        /* Configure UART0: 115200, 8-bit word, no parity bit, 1 stop bit. */
    UART_Open(UART1, 9600);

使用特权

评论回复
liuyu305|  楼主 | 2020-7-5 10:54 | 显示全部楼层
问题解决,IO配置,我还用了SPI的,结果在下面被冲掉了 ,我是直接copy另外的一个例子的,那个例子直接没有在原有的或操作,直接赋值了。

SYS->P1_MFP = SYS_MFP_P14_SPIS0 | SYS_MFP_P15_MOSI_0  | SYS_MFP_P16_MISO_0 | SYS_MFP_P17_SPICLK0;
就是上面的,我直接用了。而串口1就是P1上面的,所以串口0可以,串口1不可以

使用特权

评论回复
jiekou001| | 2020-7-5 22:55 | 显示全部楼层
嗯,直接赋值肯定会改了之前的设置,逻辑操作还是非常好用的。最好放到一起配置,免得出错。

使用特权

评论回复
jiekou001| | 2020-7-5 22:55 | 显示全部楼层
初始化部分的代码,共用一个寄存器设置的,直接一行解决,多行容易忘了前面的。
或者使用官方的PIN配置软件生成对应代码

使用特权

评论回复
jiekou001| | 2020-7-5 23:00 | 显示全部楼层
257185f01eb23a82cc.png

使用特权

评论回复
jiekou001| | 2020-7-5 23:04 | 显示全部楼层
    SYS->P1_MFP = SYS_MFP_P17_SPICLK0 | SYS_MFP_P16_MISO_0 | SYS_MFP_P15_MOSI_0 | SYS_MFP_P14_SPISS0 | SYS_MFP_P13_TXD1 | SYS_MFP_P12_RXD1;

使用特权

评论回复
jiekou001| | 2020-7-5 23:05 | 显示全部楼层
这个工具非常不错,可以图形化配置PIN初始化代码。

使用特权

评论回复
稳稳の幸福| | 2020-7-5 23:17 | 显示全部楼层
多谢楼主分享经验

使用特权

评论回复
Harvard| | 2020-7-6 13:43 | 显示全部楼层
029LAN是最流行的新唐M0  没有之一.
新唐的其他M0 M4 怎么感觉没声音啊  性价比也不行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

108

主题

1889

帖子

6

粉丝