最近有与项目需要,要使用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)编译手册,写成其他形式可编译通过,手册打开如下:
- 按图中点击“编译器帮助”,
2.进入相应的本地帮助网站
点击打开相应的文档,即可查看相关说明。
如果无法打开网站,可以在编译器安装目录如我的:
中找到相应文档。
---------以上,后续再有更新。。