最近使用一款mplab插件,感觉蛮方便的,和大家分享:
Code Configurator是一款免费的图形编程环境,可以通过简单的选择功能,自动生成pic的C代码,节省时间。
Code Configurator官方地址
为了方便说明,以PIC16F1823为例新建一个工程 standalone Project,我们不需要向里面添加任何文件,Code Configurator会自动添加。
然后点击Tools——Embedded——选择MPLAB® Code Configurator
在左边我们看到一些资源,这里有默认选好的的工程资源System,点击System,中间可以设置系统时钟,单片机配置字,我选择了内置系统时钟500Khz,右边是该单片机引脚使用情况。
接下来添加一个异步UART,在硬件资源里找到EUSART,展开找到EUSART Asynchronous (NRZ)并双击,该资源就自动添加到工程资源里了。
点击系统资源里的EUSART Asynchronous (NRZ),中间我们看到默认使能USART,波特率默认为9600,并且有提示误差。我这里勾上Enable Transmit和Enable Continous Receive,使能发送和连续接收。
右边我们可以选择单片机封装,和相应的功能引脚,这里默认选择了RC6和RC5为Tx和Rx。如果需要更换其它口,点击绿色的已上锁标志会取消当前的选择,更改其它IO口,比如这里的RA0和RA1。
UART模块已经配置好了,点击Generate Code,生成相应代码:
提示没有检测到main.c文件,点击yse自动生成main.c文件。
在工程文件里就能看到生成的代码了:
相应的头文件里面会有相关的函数说明。
下面我们用IDE自带的仿真器仿真一下这个UART。功能为使用自带的printf函数输出一个随机数。
在这之前先检查UART仿真输出有没有打开:
先进入工程属性面板,点击simulator,在Option categories里选择UART1 IO Options,默认下Enable Uart1 IO是不勾选的,勾选上即可输出UART窗口。
进入main.c文件,在main函数之前加入如下代码:
#include "stdlib.h"
#include "stdio.h"
void putch(char data)
{
while(!TXIF)
continue;
TXREG=data;
}
这样就可以调用printf(),rand()函数。
在while函数里添加:
printf("Random = %d\n", rand());
然后Debug并运行,下方output窗口下会自动跳出UART1 Output窗口,点击打开就能看到UART输出的随机数啦~~
|