历史上的今天
今天是:2025年01月22日(星期三)
2020年01月22日 | 使用MPLAB X 对PIC单片机进行配置
2020-01-22 来源:eefocus
最近有与项目需要,要使用PIC单片机进行开发(之前从来没有使用过)。遇到了许多不明白的问题,再此总结一下遇到的问题和相应的解决办法,希望有大神指导,也希望能帮到像我一样的朋友。
一、初入PIC单片机
之前玩过51和stm32等单片机,初入时比较懵,拿到数据手册不知从何下手。网上搜索资料,看到“郭天祥十天教你玩PIC单片机”,当然,视频中使用的单片并不是我使用的单片机型号,但观看该视频能提供一个方向,也没必要看完全部视频,有思路就可以看数据手册进行代码编写了,以下是相关视频链接(内含相关代码,感谢热心网友的分享!)。(PS:再此感谢郭天祥老师,从51、DXP等,我是看您的视频学习过来的!)
(含代码的视频)
链接:https://pan.baidu.com/s/1tJRE3OJ8s9DC-90nlxmfLQ
提取码:a0ge
链接:https://pan.baidu.com/s/18SGLYs5Dcv5YSyY_MGjJuA
提取码:g0f0
二、首先遇到的关于配置问题
由于我使用的IDE为MPLAB X V5.0,编译器为XC8(V2.0),在进行配置的时候遇到问题,视频使用__CONFIG(X);--【pic16F系列】来配置(PIC16F&PIC18F使用有所不同),编译时提示错误:意外标记

目前我也找不到原因(希望知道的大神能指导一下),无奈,再网上找资料,原来软件可以自己进行配置的,操作如下:
如果目前有打开多个项目,务必设置需要操作的项目为主项目,如下:

按照如下打开配置界面

配置界面如下:

按照数据手册以及实际情况进行配好好后,电机 “输出生成源代码”,则会依据你的配置生成相应的源代码:

将代码复制到你的源文件即可。
------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------
以上即可实现配置,如我要配置其他工程,必须将该工程设置为主项目,因为每个项目的单片机型号可能不一样,配置也就可能不一样

这是我另一个试验项目的配置位。
------------------------------------------------------------------------------------------------------------------------------------------------------
三、关于中断函数写法问题。
和视频也不太一样,视频中使用void interrupt tim0()这样的形式,但我使用编译器XC8(V2.0)时,无法编译通过,

提示:
main.c:81:6: error: variable has incomplete type 'void'
void interrupt isr_deal(void)
main.c:81:15: error: expected ';' after top level declarator
,原因我也不知道,但使用XC8(V1.45)时,可编译通过。(还请大神不吝赐教!)。
参考XC8(V2.0)编译手册,写成其他形式可编译通过,手册打开如下:
1.按图中点击“编译器帮助”,

2.进入相应的本地帮助网站

点击打开相应的文档,即可查看相关说明。
如果无法打开网站,可以在编译器安装目录如我的:

中找到相应文档。
---------以上,后续再有更新。。
上一篇:PIC单片机串口发送与按键
史海拾趣
|
本人手中的一款便携式示波表的拆机图。供大家参考。另附上操作手册和本人找到的部分器件的datasheet。有部分关键器件本人无法找到datasheet,有资料的朋友可上传供大家分析用。 DSCN2310.JPG DSCN2311.JPG DSCN2312.JPG DSCN2316.JPG ...… 查看全部问答> |
|
不是我不明白,这世界太疯狂---NXP推出4岁小孩可掌握的ARM单片机工具 2009年12月11日,NXP(恩智浦)半导体副总裁兼微控制器产品线总经理Geoff Lees透露,该公司推出了基于ARM Cortex-M3的开发工具,在http://mbed.org网站上,可以看到一个4岁小孩用此平台进行拖拽,开发出MCU的解决方案。NXP把这套软硬件开发平台称为 ...… 查看全部问答> |
|
hello 我现在在Dopod S505上面用GPS,但是这个GPS设备第一次搜星那是相当的慢,需要15-20分钟的样子,有时还要看RP. 我想知道怎么能加快GPS设备搜星,还有就是那种快速GPS的原理是什么,怎么实现一个快速GPS呢?… 查看全部问答> |
|
目标:想要实现USB设备拔插的模拟。也就是说,物理上USB设备并没有拔出再插入的动作,但是在逻辑上,USB设备掉了,然后又重新连接上了。现在这个功能基本能实现,但是不稳定,容易出现USB设备掉。 我自己写了一个小的字符驱动(usbPortdisplay.c) ...… 查看全部问答> |
|
我看了DM3730 和dm6446的DATASHEET, 感觉前者的频率更高一些,而且开发板的价钱更便宜,我想问问大家,如果是搞运动目标的检测与跟踪的应用的话,哪个芯片更合适呢? 谢谢!… 查看全部问答> |
|
【设计工具】白皮书:通过赛灵思Virtex-7 产品系列以及高级综合实现TeraFLOP 性能 FPGA 通常与大多数可编程逻辑、高 I/O 引脚数以及大型定点 DSP 阵列有关。虽然FPGA并不是以其浮点处理能力而著称,但该项特性却非常出色。浮点运算符是通过可编程逻辑查看表 (LUT) 和 DSP 处理单元 (DS ...… 查看全部问答> |




