首页 > 评测 > 与时俱进的8位单片机——Microchip Curiosity开发板评测
与时俱进的8位单片机——Microchip Curiosity开发板评测
- [导读]
- Curiosity开发板对于初学者及入门用户来说,功能足够,特别是结合MikroElektronika MikroBUS Adapter Click系列扩展模块,用户能够迅速建立自己的产品或实验原型,从而实现创意即产品的伟大构想。
配置内容主要包括时钟源及分频设置,这里使用默认的FOSC作为定时器1的时钟源,分频系数设置为1:8,这些都是很直观的设置。令人比较感兴趣的是右上角的时钟周期的计算,这里假设要指定2ms的定时设置,上面设置的用户预设的期望值,下面则是经过对当前时钟源的计算后得出真实值,可以看到这种设置方式的值是没有偏差的。但是调整分频系数后,有可能会得到计算值与预期值会有偏差的情况,这也符合MCU的工作原理。这是使用GUI模式设置带来的好处,直观!就这一功能而言,该工具比STM32的CubeMX工具更好用!
如果需要使用时钟中断,需要勾选Enable Timer Interrupt选项。
注意下面还有一个时钟的软件设置,这里用来指定中断回调时的软件调整设置,比如想要每500ms执行一次软件回调,则可以在这个地方输入250,经计算之后,中断的频率则实际变成了500ms一次,非常直观!
如此设置之后,就可以点击MCC界面左上角的Generate按钮来生成源代码,将用户的设置转换为实际的代码。
图22:MCC生成的文件
这里列出了MCC生成的所有代码。MCC检测到当前工程文件里面没有包含main,所以这里直接生成一个。当然如果用户自己写了main.c的话,MCC就不会为你添加了。
现在基本的框架及内容都已经准备好。但是要记住一点,MCC只会为你生成你指定的一些初始化代码,程序的逻辑及功能还是需要程序员来完成,所以接下来就是在MCC为我们生成的基础之上来实现自己的功能。比如,让板载的LED灯开始以一定的频率闪烁。
图23:用户LED原理图
这是开发板上4个用户LED灯的硬件连接图,我们准备使用D7来操作,这也是上面配置GPIO时为什么要指定RC5的输出功能的原因。上面的代码中我们已配置TMR1的定时周期为2ms,同时软件调整为250倍,这样子的话每隔500ms就会调用一次回调函数。
打开tmr1.c文件,找到void TMR1_CallBack(void)函数,添加LED状态翻转的语句,调整后的代码如下
图24:回调函数
这里是在回调函数里实现D7的翻转,由于时间为500ms,所以D7就会每隔500ms翻转一次状态,从而实现LED灯的闪烁效果。
不过事情还没有结束,我们还需要自己启动定时器来实现定时器的计数及回调。打开main.c,在while语句之前添加如下指令
图25:main函数
注意代码中的注释,大意是说,如果开启了全局或外设中断,还需要将相应的注释去掉,以打开外设或全局中断功能。在启用全局及外设中断功能的代码后面,我们添加了两条语句,一条是初始化定时器的语句,一条是启动定时器的语句。这些属于程序功能性的代码都需要我们自己来处理,MCC还没有智能到这种程度!
现在可以点击IDE中的编译并下载按钮,来将代码下载到开发板上。如果没有其它错误的话,你应该会看到类似下面的输出
图26:编译、下载
表明代码已下载到开发板,稍等片刻就可以看到D7开始闪烁。
以后的开发过程基本类似,即:创建一个工程文件;使用MCC来初始化基本功能;在程序中添加自己的功能。
总体来说,Curiosity开发板还是很不错的。对于初学者及入门用户来说,功能足够,特别是结合MPLAB X IDE及MCC,用户能够迅速进入状态,无需担心过多的硬件特别是寄存器级的操作细节,而是将主要精力集中在程序功能这一块,迅速实现自己想要的功能。结合MikroElektronika MikroBUS™ Adapter Click系列扩展模块,用户能够迅速建立自己的产品或实验原型,从而实现创意即产品的伟大构想。
8位机,也有自己的春天!
参考资源:
本文系21ic原创,未经许可禁止转载
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前