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

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

[复制链接]
2506|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 南来之风 于 2021-12-11 12:44 编辑

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


板卡上有个供用户使用的LED,即:


下面开始新建一个空白项目:









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






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



对于此次的UART数据回显,需要添加最基本的UART模块:

在左侧的管脚复用区域,配置引脚的方向:


然后可以导出配置信息,之后我们可以导入到本地的MPLAB X中,进行开发,不用打开本地的MCC了!

准备下载程序到单片机上,发现了如下错误:


可以试试:



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;

    }
}

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


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


在这里要给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芯片吗   

使用特权

评论回复
5
sdlls| | 2022-1-2 12:41 | 只看该作者
MPLAB X IDE用都是哪个版本呢   

使用特权

评论回复
6
febgxu| | 2022-1-2 12:41 | 只看该作者
是自动回传吗   

使用特权

评论回复
7
xiaoyaodz| | 2022-1-2 12:41 | 只看该作者
是否可以移植串口fifo呢   

使用特权

评论回复
8
fentianyou| | 2022-1-2 12:41 | 只看该作者
MCC用的哪个?         

使用特权

评论回复
9
selongli| | 2022-1-2 12:42 | 只看该作者
比较便捷的IDE,开发更容易。   

使用特权

评论回复
10
minzisc| | 2022-1-2 12:42 | 只看该作者
这个编译环境是怎么设置的   

使用特权

评论回复
11
lzmm| | 2022-1-2 12:42 | 只看该作者
CuriosityNano性能不错。   

使用特权

评论回复
12
hudi008| | 2022-1-2 12:42 | 只看该作者
pic单片机用的多。      

使用特权

评论回复
13
kkzz| | 2022-1-2 12:42 | 只看该作者
这个有uart loop功能吗  

使用特权

评论回复
14
tpgf| | 2022-1-7 19:15 | 只看该作者
板子虽然小巧但是功能强大

使用特权

评论回复
15
aoyi| | 2022-1-7 19:17 | 只看该作者
串口还有自动回传的功能?

使用特权

评论回复
16
gygp| | 2022-3-3 22:34 | 只看该作者
是内部的UART数据回显

使用特权

评论回复
17
soodesyt| | 2022-3-3 22:52 | 只看该作者
回显是什么意思?

使用特权

评论回复
18
sanfuzi| | 2022-3-3 23:10 | 只看该作者
这个可以直接tx和rx短接的   

使用特权

评论回复
19
vivilyly| | 2022-3-3 23:39 | 只看该作者
这个可以回环测试吗

使用特权

评论回复
20
kmzuaz| | 2022-3-4 20:43 | 只看该作者
不是有can才能回环测试吗

使用特权

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

本版积分规则

48

主题

251

帖子

2

粉丝