
PIC18
grey_csdn
这个作者很懒,什么都没留下…
展开
-
446_PIC18F系列MCU的中断实现
全部学习汇总: https://github.com/GreyZhang/PIC18F 最近在PICF18的平台上熟悉J1939的协议,第一个例子算是调试完了,使用的最简单的polling模式来实现的。但是如果想要让J1939的协议栈处理的能力更好,实时性更好且设计更加简单一些,需要使用中断。 这样,我需要的中断是CAN通信的收发功能。 看一下相关的文档: 正好,我用到的两个MCU兼容性上基本上是一致的,中...原创 2020-11-05 07:22:13 · 845 阅读 · 0 评论 -
443_J1939源地址与目标地址的使用和判断
全部的学习汇总: https://github.com/GreyZhang/J1939_basic 前面做了官方例程的测试,两个板子能够通过按键分别控制对方的LED的亮灭。现在,做一个简单的修改: 把目标地址改成130,也就是0x82。这样,通过这个板子按键的时候,将会发送报文到目标地址0x82。姑且把这个板子定义为A(地址0x80),B的地址为0x81。 修改之后,做了两个测试。第一个是使用A的按键触发请求,结果B的灯本次没...原创 2020-11-02 20:28:26 · 2533 阅读 · 0 评论 -
441_MPLAB X中导入MPLAB工程
全部学习汇总: https://github.com/GreyZhang/PIC18F 今天安装了MPLAB X,感觉使用体验的确是不错。不过,之前有些MPLAB的工程放弃可惜,一点点新建工程重新加文件麻烦。简单操作了一下GUI,发现了一个导入旧工程的方法,测试小结一下。 首先,准备工程如下: 专门做了一下备份。 启动MPLAB X,点击如下的菜单。 选择刚刚准备的工程中的工程文件。...原创 2020-10-31 08:44:15 · 1373 阅读 · 1 评论 -
440_MPLAB X中进行部分寄存器配置并生成代码
全部的学习汇总:https://github.com/GreyZhang/PIC18F 前几天使用了MPLAB工具进行了一些小测试,因为我买了一个板子,给出的例程就是这个工具实现的。在软件调试中,遇到了各种各样的问题,感觉上可能是工具太老的原因。于是去官方网站找了一下相关的MCU,查看了相关的资料。没想到这里还提供了一个免费的IDE,支持大量的MCU开发。顺利下载下来,果真我遇到的一些问题消失了。 不过,在使用MPLAB的时候有些寄存器的配置通过位配...原创 2020-10-30 20:53:53 · 1084 阅读 · 0 评论 -
439_PICF184580 实现串口printf
全部学习汇总: https://github.com/GreyZhang/PIC18F 嵌入式软件调试中如果有一个串口会非常方便,一个printf几乎能够实现全部的调试功能。当然,这个得建立在你有一定的软硬件调试功底的前提下。 本来,我想把我之前用的一个pritnf模块移植到现在的工程。但是简单搜索一下,发现PIC平台上的printf其实直接使用标准库即可,只需要重新路由一下putch。 具体的实现如下: ...原创 2020-10-29 20:42:26 · 415 阅读 · 0 评论 -
438_PICF184580 CAN接收例程分析
全部学习汇总: https://github.com/GreyZhang/PIC18F 看了一个CAN接收的例程,本来还打算做一个最终的调试,把我之前的部分CAN代码也一起放进来。后来想想,不能够一直凌乱下去。先做个简单的分析,后面创建一个工程开始全新的功能调试了。 代码的排版等格式我大概用工具进行了一个处理,现在勉强有更好一点的可读性了。 加了一部分我修改过的代码了,不过不打算继续调试了。不过,还是增加了一个我之前修改过的一...原创 2020-10-28 00:40:33 · 472 阅读 · 0 评论 -
437_PIC18F4580 MCU资源梳理
全部学习汇总: https://github.com/GreyZhang/PIC18F 这两天花了一些时间调试这个MCU开发板上的程序,非常窝火,遇到了一个非常不专业的卖家给了大量不好用的东西。结果,一头扎到了软件调试中。其实,说起来,嵌入式学习的路线这样是不对的。还是要回到正确的路线上来。 大概的开发工具以及基础的环境其实已经验证过了,这很好。但是,MCU的基础信息暂时还是没有看过的。今天,针对软件需要关注的地方专门做一个梳理。...原创 2020-10-27 20:21:57 · 441 阅读 · 0 评论 -
436_PIC18F4580 CAN模块初步
全部学习汇总: https://github.com/GreyZhang/PIC18F 先看一下我手中这个MCU的管脚定义: 看上去,管脚功能相对来说比较单一。 结合上面的文档信息,RB2可以在模式设置的时候自动处理掉,而RB3则必须要进行功能配置。 以上是管脚配置的一些说明。因此,我自己修改代码的时候采用了上面的配置: 本来还想在原来的代码基础上做一下调整修改,后来考虑到都...原创 2020-10-26 20:10:29 · 833 阅读 · 0 评论 -
435_PIC18F4580 stdint数据类型支持
全部学习汇总:https://github.com/GreyZhang/PIC18F 之前玩Arduino的时候,比较方便的就是支持stdint.h中的各种数据类型。这样,在进行很多软件移植调试的时候都非常方便。PIC18Fxx,我用的开发环境中似乎这个东西是不支持的。我搜索了一下安装的目录,如下: 看起来,应该还有一个32系列的支持这样的功能。 如此,直接仿照Arduino来一份。 测试其字节长度:...原创 2020-10-25 09:32:50 · 319 阅读 · 0 评论 -
434_PIC18F4580数码管动态显示例程分析与修改
全部学习汇总: https://github.com/GreyZhang/PIC18F 分析一个动态数码管的例程,预感可能会有很多需要改的地方。 预测很准确,因为我简单编译了例程烧写之后完全没看出实现了一个什么效果。看起来,得分析下代码,看看他的意图,然后我做个简单实现算是自我学习锻炼了。 代码看上去,相对来说不是很麻烦。我怀疑错误点很可能又是在段选上,因为之前已经遇到过一次了。 再次分析,看上去实现实现一...原创 2020-10-24 10:28:57 · 431 阅读 · 0 评论 -
433_PIC18F4580串口接收例程分析
全部学习汇总: https://github.com/GreyZhang/PIC18F 今天来看一下串口的接收功能,本来还想顺带练习一下emacs,不过第二次遇到了emacs文件占用与MPLAB冲突导致没法编译的诡异现象。暂且放弃emacs练习的想法了,毕竟VS Code也还不错。 上来,还是得先处理一些烂代码,先保证软件能够正常运行。为此,做如下定制: 管脚寄存器映射处理,这次偷懒了,因为我觉得VS Code下面的vim插件...原创 2020-10-23 21:18:17 · 720 阅读 · 0 评论 -
432_PIC18F4580串口通信例程分析
全部学习汇总: https://github.com/GreyZhang/PIC18F 这次的开发板购买经验的确是很失败,中间需要自己修改的东西太多了。不过也好,塞翁失马焉知非福,中间或许我能够学习的东西更加深入了也说不定。除此之外,修改代码的过程也算是emacs练习的一个好机会了。 一看这段代码,老一套的问题。我注释掉了23行,代码进行了重新排版,其他的暂且不提了,出门左转有雷同笔记。 LED的寄存器修改,肯定少不了得处理。...原创 2020-10-22 19:49:55 · 660 阅读 · 0 评论 -
431_PIC18F4580流水灯例程调试
全部学习汇总: https://github.com/GreyZhang/PIC18F这次买的这个板子以及配套的软件真是让我觉得不知如何评价了,就没几个能用的软件。好在烧写了之后没跑飞是真的。 找到了一个流水灯的例程,先烧写了一把,只有2个LED在闪烁。真的是一点都不意外。我格式化之后的代码状态如下: 初始化重复调用、没用的串口、错误的看门狗注释自然还是老一套。 折下来,类似的代码设计思路还OK吧,但是估计LED的寄存...原创 2020-10-21 20:33:11 · 548 阅读 · 0 评论 -
430_PIC18F4580串口发送例程调试与测试
全部学习汇总: https://github.com/GreyZhang/PIC18F 这次某宝购物的体验真的是比较差,买了一个板子没想到大部分代码都有问题。原理图画的标识符乱七八糟不说,代码很多都有问题的。前面修复了诸如LED这样的最初步的软件,后来测试串口发现串口依然是不工作的。 经过文档查看分析,我发现代码中的配置是直接来自文档。然而,文档中描述的晶振跟这个板子上的晶振不同。一个是16M,而板子上是4M。经过一系列修改,终于该出来了一个可以正常...原创 2020-10-20 20:08:12 · 629 阅读 · 0 评论 -
429_PIC18F4580使用MPLAB配置部分驱动
全部学习汇总: https://github.com/GreyZhang/PIC18F 在最初接触的文档中看到过关于这部分的配置,配置的启动方式如下: 启动后的界面如下: 弹出的对话框,去掉打勾即可进行编辑修改。看文字描述,应该是勾选了之后才会在软件中起作用。不过,我自己尝试修改的时候却发现无论是否勾选生成的HEX都没有什么变化。不过,我自己生成HEX的方式或许是不正确的,因此出现了如下的提示: 这...原创 2020-10-19 21:42:44 · 464 阅读 · 0 评论 -
428_PIC18F4580驱动共阳数码管
全部学习汇总: https://github.com/GreyZhang/PIC18F 今天阅读一份共阳极数码管驱动的例程,顺便按照我自己的理解进行部分修改。 首先看看相关原理图: 其实,制图的时候采用PORT命名会更好一点。因为,这样不会像上面的原理图一样出现把输出操作的端口描述成输入的情况。 上面这部分代码,其实是可以规范一下的。同时看得到的是,数码管的小数点没有设计。 开始...原创 2020-10-18 09:16:51 · 534 阅读 · 0 评论 -
427_PIC18F4580 LED闪烁例程品读
全部学习汇总: https://github.com/GreyZhang/PIC18F 既然代码都读了,还是留点学习笔记吧! 我在某宝上弄了一个开发板,附带了不少例程代码。令我惊奇的是第一个LED闪烁就没调试成功,后来,我自己改好了。结果,我发现了第二份LED闪灯程序。做个简单的代码分析: 几个问题点的关注:函数重复调用存在,36行; 串口初始化没用,34行; 看门狗相关代码注释错误,其实没开看门狗。40行; 既然没...原创 2020-10-17 12:28:33 · 388 阅读 · 0 评论 -
426_PIC18F4580实现LED闪烁
全部学习汇总:https://github.com/GreyZhang/PIC18F 说起来,LED闪烁这样的功能的确是太入门了级别了。或许由于简单,这个在一定程度上是嵌入式的hello world。有很多嵌入式工程师自嘲说最是点灯工程师或许也是因为这个简单,因此用以自嘲说自己的技术初级。 本来,不打算做这个初级的小结了。但是,这次有点小故事。我从某宝上买了一个开发板,PIC18F4580的MCU,上面带着4颗LED。提供的demo里面,有LED闪烁...原创 2020-10-16 22:09:45 · 474 阅读 · 0 评论 -
425_PICkit2烧写PIC18F4580 MCU
全部学习汇总: https://github.com/GreyZhang/PIC18F 手里两块PIC18Fxx的板子,一直也没有拿出来用过、学习过,想来真是有一点浪费。正好趁着最近有一点点自由的时间,找出来简单玩玩。 开始接触一个新的嵌入式平台,还是老一套。首先看文档做一点基本功,接着就是开发工具链的确认,来一个点灯程序的烧录。这一步过了之后,后面就是自由hack了。 MPLAB的安装其实还算是顺利,一个工程打开清空编译也还顺利...原创 2020-10-15 22:06:09 · 962 阅读 · 2 评论