[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测评报告】+UART数据回显

[复制链接]
1617|19
手机看帖
扫描二维码
随时随地手机跟帖
南来之风|  楼主 | 2021-12-11 12:36 | 显示全部楼层 |阅读模式
本帖最后由 南来之风 于 2021-12-11 12:44 编辑

感谢Microchip和21ic提供的此次测评机会。之前测评都是使用的MPLAB X IDE + MCC,非常的方便生成各种驱动代码。
拿到板子后,首先在电脑上搭建相应的开发环境。好在Microchip提供了比较便捷的IDE,比如MPLAB X。把板子插上电脑后,软件会自动识别板卡。
7026461b34473b81f5.png

板卡上有个供用户使用的LED,即:
6236861b348707ccc5.png

下面开始新建一个空白项目:
3435661b348db504c0.png
7882361b348f07fa10.png

2203261b34a50a12da.png

1606661b34a626f71b.png

7123061b34a9e37380.png

进入项目后,激活MCC,配置驱动。
9022261b34abb79674.png 这次下载了最新的工具,进入MCC Content Manager Wizard后,点击Finish按钮总是不停的旋转。折腾了一晚上也没有下载完成。

8768461b4285208890.png




眼看着完不成任务了,又开始寻找替代的开发环境。这时发现了ATMEL START,一个在线的开发环境!非常的轻量级,没有了下载安装的烦恼。

3865161b428c0509ad.png

对于此次的UART数据回显,需要添加最基本的UART模块:
1056961b429330502a.png
在左侧的管脚复用区域,配置引脚的方向:

4150061b4296c4e961.png
然后可以导出配置信息,之后我们可以导入到本地的MPLAB X中,进行开发,不用打开本地的MCC了!
2623961b42983218f2.png
准备下载程序到单片机上,发现了如下错误:
1170161b41806dba3c.png

可以试试:
5972961b429df41985.png

8472261b429f80132e.png
FUSES = {
        .WDTCFG = 0x00, // WDTCFG {PERIOD=OFF, WINDOW=OFF}
        .BODCFG = 0x00, // BODCFG {SLEEP=DIS, ACTIVE=DIS, SAMPFREQ=1KHZ, LVL=BODLEVEL0}
        .OSCCFG = 0x7E, // OSCCFG {FREQSEL=20MHZ, OSCLOCK=CLEAR}
        .SYSCFG0 = 0xE6, // SYSCFG0 {EESAVE=CLEAR, RSTPINCFG=UPDI, TOUTDIS=CLEAR, CRCSRC=NOCRC}
        .SYSCFG1 = 0xFF, // SYSCFG1 {SUT=64MS}
        .APPEND = 0x00, // APPEND {APPEND=User range:  0x0 - 0xFF}
        .BOOTEND = 0x00, // BOOTEND {BOOTEND=User range:  0x0 - 0xFF}
};

LOCKBITS = 0xC5; // {LB=NOLOCK}

然后把生成的代码粘贴到main.c中即可!
下面是主函数代码:
int main(void)
{
        /* Initializes MCU, drivers and middleware */
        atmel_start_init();

        /* Replace with your application code */

    int i = 0;
    char TempChar;
        while (i++ != 10) {
        printf("Hello World! %d\r\n", i);
        }


    while (1){
            // Check that "hello" was received on loopback RX.
        // Initialize rx buffer so strncmp() check will work

        /*
        for (i = 0; i < strlen("hello"); i++) {
            rx = USART_0_read(); // Blocks until character is available
        }
         * */
        memset(MyRx, 0, sizeof(MyRx));
        while((TempChar = USART_0_read()) != '\0'){
            if(TempChar != '\n')
                MyRx[i++] = TempChar;
            else
                break;
            //printf("%c\r\n", TempChar);
        }
        MyRx = '\0';

        if(MyRx[0] != '\0'){
            printf("SendBack: %s\r\n", MyRx);
        }
        i = 0;

    }
}

最终的效果是:
在串口助手发送字符串到单片机:
3542261b42a7a5f7cd.png

然后单片机通过RX口接受数据后,保存在本地数组中,然后在输出到串口,通过tx
6736361b42aa7df0c0.png

在这里要给ATMEL的在线开发环境点赞,也希望Mplab x工具能够更加方便些!

使用特权

评论回复
wangchangwenqq| | 2021-12-11 14:04 | 显示全部楼层
MCHP YYDS

使用特权

评论回复
七毛钱| | 2021-12-15 10:00 | 显示全部楼层
MCHP YYDS,哈哈哈哈

使用特权

评论回复
pixhw| | 2022-1-2 12:41 | 显示全部楼层
这个是pic芯片吗   

使用特权

评论回复
sdlls| | 2022-1-2 12:41 | 显示全部楼层
MPLAB X IDE用都是哪个版本呢   

使用特权

评论回复
febgxu| | 2022-1-2 12:41 | 显示全部楼层
是自动回传吗   

使用特权

评论回复
xiaoyaodz| | 2022-1-2 12:41 | 显示全部楼层
是否可以移植串口fifo呢   

使用特权

评论回复
fentianyou| | 2022-1-2 12:41 | 显示全部楼层
MCC用的哪个?         

使用特权

评论回复
selongli| | 2022-1-2 12:42 | 显示全部楼层
比较便捷的IDE,开发更容易。   

使用特权

评论回复
minzisc| | 2022-1-2 12:42 | 显示全部楼层
这个编译环境是怎么设置的   

使用特权

评论回复
lzmm| | 2022-1-2 12:42 | 显示全部楼层
CuriosityNano性能不错。   

使用特权

评论回复
hudi008| | 2022-1-2 12:42 | 显示全部楼层
pic单片机用的多。      

使用特权

评论回复
kkzz| | 2022-1-2 12:42 | 显示全部楼层
这个有uart loop功能吗  

使用特权

评论回复
tpgf| | 2022-1-7 19:15 | 显示全部楼层
板子虽然小巧但是功能强大

使用特权

评论回复
aoyi| | 2022-1-7 19:17 | 显示全部楼层
串口还有自动回传的功能?

使用特权

评论回复
gygp| | 2022-3-3 22:34 | 显示全部楼层
是内部的UART数据回显

使用特权

评论回复
soodesyt| | 2022-3-3 22:52 | 显示全部楼层
回显是什么意思?

使用特权

评论回复
sanfuzi| | 2022-3-3 23:10 | 显示全部楼层
这个可以直接tx和rx短接的   

使用特权

评论回复
vivilyly| | 2022-3-3 23:39 | 显示全部楼层
这个可以回环测试吗

使用特权

评论回复
kmzuaz| | 2022-3-4 20:43 | 显示全部楼层
不是有can才能回环测试吗

使用特权

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

本版积分规则

38

主题

226

帖子

2

粉丝