suncat0504 发表于 2021-11-26 11:13

【CuriosityNano测评报告】+按键LED串口测试

本帖最后由 suncat0504 于 2021-12-20 11:33 编辑

#申请原创# 【CuriosityNano测评报告】+ 按键LED UART测试本次报告是基于“PIC® & AVR®Curiosity Nano开发板第八波免费申请”的“ATtiny1627Curiosity Nano”开发板的测试报告。一、开发前的准备1、联机准备到手后,是由两个排针和一个开发板构成。开发板本身提供了两个排针的位置。特意说明一下,开发板的排针孔不是标准的dip17排列,而是有一定角度的交错,这样将排针插到开发板上,计时不用焊接,也可以保证和开发板的稳定接触。手的开发板的外观:
开发板开发板底视图(1)开发板底视图(2)

将排针接入开发板后,下一步就是开始准备联机调试了。为了确认开发板是否可以联机调试,找一条好用的MicroUSB数据线,将开发板连接到计算机主机USB口上,计算机会有提示设备连接,当设备接入成功后,查看“设备管理器”,如果在端口的列表中出现“Curiosity Virtual COM Port”设备时,表明开发板正常联机,可以为下一步开发做准备了。2、开发环境准备为了方便开发板的联机调试,需要准备开发环境。我这里选择的是安装《MPLABX IDE v5.50》这个软件。这个软件可以在Microchip官网中下载。以下是网址:https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-x-ide?utm_source=MCHP_Web&utm_medium=21IC_forum&utm_campaign=21IC_Q41_Giveaway&utm_term=21IC_Metrics&utm_content=21IC_MPLAB_XIDE下载安装完成后,桌面会有一个快捷图标:
二、联机调试开发打开MPLAB IDE软件选择新建工程在新窗口中选择“Microchip”及“独立项目”,然后选择下一步,在系列中选择“8-bit AVR MCUs(XMega/Mega/Tiny)”,在器件中选择“ATTiny1627”和“ATTiny1627 Curiosity Nano-SN”。注意,“ATTiny1627”和“ATTiny1627 Curiosity Nano-SN”这个选项是在开发板已经接入计算机的场合,才能显示出来的。选好后,选择下一步,选择编译器,继续下一步,提示输入项目信息,包括项目名称和项目保存的位置。输入好这些信息后,选择编码为UTF-8模式,选择“Finish”,进入MPLAB IDE主界面。
为了方便快速开发,我使用了MCC。通过图形界面配置工程中用到的MPU各个设备,这样省去了工程中设备配置这一块,这可以相当节省时间。如果你的系统中已经正常安装了MCC的话,IDE主界面的工具条中会有一个“MCC”的图标。没有的话,可以通过“Tools”-》“Plugins”安装这个插件。启动“MCC”,这个过程要花点时间。点击“Select MCC Melody”稍等,直到出现以下界面,就可以直接设置工程中要用的设备了。现在这个工程用到了按键、LED和串口。按键默认使用开发板提供的,占用PC4;LED也是开发板提供的,占用PB7。UART,使用USART0。据此,在左侧的“Device Resources”中,找到“Drivers”中的找到“UART”,点击“USART0”左边的“+”,使USART0被选中到工程里。串口的设置,可以在右侧的“USART0”标签页中设置。默认的设置是:9600波特率,无奇偶校验,8位数据,1位停止位。不需要改变,直接使用这些默认设置即可。接下来设置按键和LED的配置,根据开发板的默认配置,选择PB7为输出,上拉电阻有效,初始化输出高电平。PC4为输入,上拉电阻有效,初始化输出高电平。
到这里,这个工程用到的设备就已经配置好了。MPU其他主设备不用特意处理,使用默认配置好了。下面开始生成代码。点击“Generate”按钮出现“Generation complete.”提示的话,意味着代码正常被生成了。
可以转到工程文件构成页面,查看已经生成的代码。接下来,我们只需要编写处理代码即可。设备部分的初始化以及一些基本操作函数,已经被IDE自动生成,我们只需根据需要调用即可。进入main.c主程序,为了能正常使用串口发送字符串信息,我们需要添加一些必要的函数。代码如下:函数声明部分void delay(unsigned int i);void send_string_to_USART_CDC(char *d);

函数实现部分/** * 延迟处理 *@param i */void delay(unsigned int i) {   while(i--);}
/** * 向串口发送字符串信息 *@param d 字符串 */void send_string_to_USART_CDC(char *d){         uint8_ti = 0;         do{       if (USART0_IsTxReady()) {         // 向串口发送一个字符         USART0_Write(*(d + i));         // 指针地址+1,指向下一个字符         i++;             }         }while (*(d + i) != 0);}
接下来追加按键和LED的处理代码。在main函数的while循环中追加以下代码:               if (!(PORTC.IN & PIN4_bm)) {         // 延迟消抖动         //delay(20);         if (!(PORTC.IN & PIN4_bm)) {                // 等待按键松开                while (!(PORTC.IN &PIN4_bm)) ;
                // 启动继电器和LED                PORTB.OUTTGL = PIN7_bm;
                // 发送串口消息               send_string_to_USART_CDC("Key Pressed ...");         }                       }接下来编译程序,点击工具条中的小榔头图标进行编译,出现“编译 SUCCESSFUL”表示成功。接下来,就是把代码下载到开发板并执行了。点击以下图标即可首次执行,会有以下提示从下拉列表中选择联机的开发板后,
点击“OK”。看到Erasing...
The following memory area(s) will beprogrammed:program memory: start address = 0x0, endaddress = 0x1dfconfiguration memory
Programming complete这些信息,表示下载成功。这时就可以到开发板上进行测试了。按下按钮,LED亮,串口数据发出;再按按钮,LED灭,串口数据发出。如此循环,表示按键和LED工作正常。至此,对开发板的按键、LED、USART测试成功。

秦生0303 发表于 2021-11-26 17:25

好详细的步骤,参考一下

shifeng88 发表于 2021-11-27 12:39

谢谢楼主了!

hu9jj 发表于 2021-11-27 13:41

介绍的非常详细,可以当作入门教程用了。

dql2015 发表于 2021-11-29 08:22

学习了
页: [1]
查看完整版本: 【CuriosityNano测评报告】+按键LED串口测试