打印
[技术问答]

ISP编程的UART功能做ISP更新时,该如何更换UART PORT?

[复制链接]
794|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
643757107|  楼主 | 2019-9-30 21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用NuMicro_ISP_Programming_Tool的UART功能做ISP更新时,若要更改UART的Port,需要做三个步骤。



1. 在targetdev.h中,找到define的地方,将UART的PORT以及中断服务程序的名称更改为目标PORT的名称。

(不同IC,中断服务程序的名称可能会稍微有点差异,请参考中断向量表)

2. 在main.c中,找到SYS_Init()函数,里面对于UART做了Clock设置,将原本的UART PORT设置改成对目标UART PORT设置即可

3. 在main.c中,找到SYS_Init()函数,最底下会有对于UART的MFP设定,将MFP更改成目标PORT的MFP即可

(1) /* Set PD multi-function pins for UART0 RXD(PD.0) and TXD(PD.1) */

使用特权

评论回复
沙发
643757107|  楼主 | 2019-9-30 21:33 | 只看该作者
举例说明 : 将NUC126 ISP更新的UART PORT由UART0更改为UART1



步骤1 更改PORT Define (targetdev.h)

修改前

#define UART_T UART0

#define UART_T_IRQHandler UART02_IRQHandler

#define UART_T_IRQn UART02_IRQn

修改后

#define UART_T UART1

#define UART_T_IRQHandler UART1_IRQHandler

#define UART_T_IRQn UART1_IRQn



步骤2 修改UART PORT的Clock设定 (main.c)

修改前

CLK->APBCLK0 |= CLK_APBCLK0_UART0CKEN_Msk;

CLK->CLKSEL1 = (CLK->CLKSEL1 & (~CLK_CLKSEL1_UARTSEL_Msk)) | CLK_CLKSEL1_UARTSEL_HIRC;

CLK->CLKDIV0 = (CLK->CLKDIV0 & (~CLK_CLKDIV0_UARTDIV_Msk)) | CLK_CLKDIV0_UART(1);

修改后

CLK->APBCLK0 |= CLK_APBCLK0_UART1CKEN_Msk;

CLK->CLKSEL1 = (CLK->CLKSEL1 & (~CLK_CLKSEL1_UARTSEL_Msk)) | CLK_CLKSEL1_UARTSEL_HIRC;

CLK->CLKDIV0 = (CLK->CLKDIV0 & (~CLK_CLKDIV0_UARTDIV_Msk)) | CLK_CLKDIV0_UART(1);

Ps. 不同IC的UART Clock设置可能略有差异,可以参考BSP中的Sample Code或是查看TRM中的Clock章节



步骤3 修改MFP至目标PORT (main.c)

修改前

/* Set PD multi-function pins for UART0 RXD(PD.0) and TXD(PD.1) */

SYS->GPD_MFPL = (SYS->GPD_MFPL & (~SYS_GPD_MFPL_PD0MFP_Msk)) | SYS_GPD_MFPL_PD0MFP_UART0_RXD;

SYS->GPD_MFPL = (SYS->GPD_MFPL & (~SYS_GPD_MFPL_PD1MFP_Msk)) | SYS_GPD_MFPL_PD1MFP_UART0_TXD;

修改后

/* Set PD multi-function pins for UART0 RXD(PE.9) and TXD(PE.8) */

SYS->GPE_MFPH = (SYS->GPE_MFPH & (~SYS_GPE_MFPH_PE9MFP_Msk)) | SYS_GPE_MFPH_PE9MFP_UART1_RXD;

SYS->GPE_MFPH = (SYS->GPE_MFPH & (~SYS_GPE_MFPH_PE8MFP_Msk)) | SYS_GPE_MFPH_PE8MFP_UART1_TXD;

使用特权

评论回复
板凳
643757107|  楼主 | 2019-9-30 21:33 | 只看该作者
相信不少人需要这个资料。

使用特权

评论回复
地板
xinpian101| | 2019-9-30 21:47 | 只看该作者
步骤详细,非常好的资料。

使用特权

评论回复
5
wanduzi| | 2019-10-9 21:26 | 只看该作者
没看明白,这个是说的BootLoader程序吗

使用特权

评论回复
6
huahuagg| | 2019-10-9 22:01 | 只看该作者
不如给个例子。

使用特权

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

本版积分规则

213

主题

3805

帖子

11

粉丝