本帖最后由 pzsh 于 2021-8-31 17:49 编辑
出差在外地收到的电话,被告知抽上开发板赠送了,感激涕零。
到家就收到了小包裹,盒子非常袖珍,一度很怀疑这么小的盒子能装下开发板吗?
打开盒子后,呈现在面前的开发板本体的确小巧玲珑
摆在电脑键盘对比一下就知道了,只有这么大。
开发板的细节:
OK,下载开发板的硬件框图,这里面的管脚、端口信息,后面设置里都用得到。
今天先建立开发环境、点亮这块开发板,并和宿主电脑串口通讯一下。
也算日后的开发和debug的平台
——————————————————————————————————————————
先安装MPLAB X IDE吧
MPLAB X IDE开发环境的安装
下载链接:
https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-x-ide
MPLAB X IDE Windows v5.50
安装时选中文(默认是English)
安装到最后,有些Microchip提供的驱动程序被安装时,要选择同意。
——————————————————————————————————————————
然后安装XC8 编译器
XC8 编译器的安装
下载链接:
https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-xc-compilers#Downloads
MPLAB XC8 Compiler v2.32
License授权选择Free即可
Add xc8 to the PATH environment variable 要勾选
安装到最后会看到Host ID,这是你这台电脑上允许运行XC8 Free版的标志,继续即可完成安装
——————————————————————————————————————————
MCC的安装
启动第一步安装好的MPLAB X IDE
没有建立任何Project之前,用好一些的USB线连接收到的PIC18F16Q41 Curiosity Nano到PC的USB口
Kit Window窗口被自动打开,PIC 18F16Q41 Curiosity Nano页面自动打开
step1
File菜单选择New Project,选独立项目,Next
step2
系列:Advanced 8-bit MCUs(PIC 18)
器件:PIC18F16Q41
器件:PIC18F16Q41 Curiosity Nano-SN......
step3
选择xc8 v2.32--> Next
step4
项目名称:Test1
项目位置:最好给它建个自己定义的目录,我是D盘PIC下按照单片机型号分的
项目文件夹:同上(勾选了“使用项目位置作为项目文件夹”)
step5
Tools菜单选择plugin,弹出的Plugins窗口勾选MPLAB Code Configurator,点击下方的Install
安装MCC 4.2.4(都用默认选项即可)
最后安装结束时要Restart Now重启MPLAB X IDE来载入MCC
重新打开的MPLAB X IDE就有蓝色六边形MCC标志了,安装部分完毕
点击打开MCC
——————————————————————————————————————————
下面进入MCC设置
MCC Step1
最下方窗口Pin Manager窗口先选择我们这块开发板上PIC18F16Q41芯片的封装,从默认的QFN20改为SSOP20
右上角PinManager: Package View的布局也随之改变。
MCC Step2
我们现在System Module的tag里设置系统时钟,HFINTOSC是内置时钟,要使用外置时钟需要自己焊、然后再设置。
钟频我设置了64MHz
接下来设置I/O端口:根据开发板硬件资料,RC0为SW0,RC1为LED0
MCC Step3
System Module的tag处理完毕,我们点击Available Resources的tag
这里是这块单片机可以选用的资源模组
我们在第一个测试中,选择DELAY模组(延时函数需要)、UART、UART1模组(串口通信需要),各自点击前面的绿色加号添加
MCC Step4
当我们进行UART添加时,要点击空白框的左下角+号来添加外部设备UART1(默认)到表中,默认的串口通讯速率9600不变。
另外下面的下拉选项、我们把默认的None改为“Basic Read/Write with Printf support”,以支持printf函数
MCC Step5
双击外部设备Peripherals的UART1,打开UART1的设置
按图所示勾选Redirect STDIO to UART,这个允许编程中使用printf函数,将信息发送给串口
Pin Manager里设置UART1的TX1和RX1(单片机一侧,串口的发送端口和接收端口)
根据开发板的硬件资料,TX1为RB7、RX1为RB5
MCC Step 6
点击IDE画面左侧MCC的Resource Management中,Tree View下Project Resources的Generate
让MCC生成驱动这些资源所需要的代码。
MCC 自动设置和代码生成,到此告一段落
————————————————————————————————————————————
接下来我们开始给单片机写程序
编程Step 1
点击IDE画面左侧Projects的Tag,展开Test1下源文件,双击main.c
在右上角的main.c编程窗口中找到最下方这里开始编程。
编程Step 2
程序就这么简单几行
首先我们解除全局中断允许函数前面的注释符,让其工作起来
接下来我们每隔一秒(1000毫秒)让LED切换一次开关
同时读取LED的锁存器,根据ON/OFF状态来向串口发送相应字符。
程序写好了,接下来就是如图所示点击榔头符号进行编译
右下方的Output窗口里有编译是否完成的结果。
编程Step 3
编译没问题的话,就写入开发板吧!
写入开发板的结果也会显示在右下方的Output窗口
编程Step 4
我们看到LED灯正常的一秒一亮灭、在串口调试助手界面里也可以看到LED ON/OFF随之切换。
测试完成。
|
有没有尝试在DV插件里显示UART1的传输内容?