其实昨天就拿到了板子,今天有空来下开箱吧。其实我一直挺为Microchip可惜的,我觉得在做MCU这块的文档用心程度,觉得算得上业界的顶尖了。可惜生不逢时,及失去了的市场也很难补回来了。这次拿到的板子是PIC16F15244-nano,很小巧的板子,MCU的封装是VQFN20更显得紧凑和科技感慢慢。板子调试接口(下载和虚拟串口)、1KEY、1LED,典型的最小系统板。废话不多说了,上图:还是经典的保证,产地还是马来西亚:(我就好奇,国内没有代工厂么?)
板子正面:
板子反面:
插上板子,打开MAPLAB X IDE.在KIT WINDOW里面自动识别板子型号,并给出相关资料:
找不到KIT WINDOW在哪?
我们下载相关的代码,原理图和芯片的datasheet:
很不错,连AD工程都给了,顺便鄙视国内的一些MCU厂家,扣扣索索的。
板上资源介绍:
我们当前使用的PIC16F152444(VQFN20)资源一览表:
MCU的ROM和FLASH还真是为小容量准备的,乍看现在动不动就20K以上的ROM,和256K以上的FLASH,反而有点不习惯了。
不过毕竟是8位单片机么,但是也说明了它PIC16F152444定位的使用场合。
芯片内部框架图(麻雀虽小,五脏俱全):
什么TIMER,UART,WDT,ADC,GPIO等:
等下,有2个名字名听过的外设名称:
那个MSSP是啥(原来是个串行通讯的复合的接口啊(包含SPI和IIC)):
那个FVR又是啥(内部修正参考电源,给ADC做基准电压的)
吓死本宝宝了,还是原来的东西。
下面我们,开始搞个程序把灯灯点亮:
我们可以直接打开下载的示例程序或者自己新建一个。
我选择来新建一个,这种MCU的架构有不复杂,一眼就能看到底:
先更新下芯片支持包:
新建工程,打开MCC配置,之前有详细说过:
其中定时器没我想的那么强,到us级别的中断已经影响主程序了。
至少10us起步,才能正常工作。
我们在main函数里面修改:
void my_delay_ms(uint32_t nms)
{
static volatile uint32_t i,j;
while(nms--)
{
for(i=0;i<10;i++)
for(j=0;j<32;j++);
}
}
while (1)
{
// Add your application code
//LED_Toggle();
//printf("Hello world!\r\n");
//delay_ms(500);
LED_Toggle();
printf("Hello world!\r\n");
my_delay_ms(500);
//delay_ms(500);
}
调试下载:
好了,开箱就到这了。
|