426_PIC18F4580实现LED闪烁

博主在使用从某宝购买的PIC18F4580开发板时遇到问题,发现预装的LED闪烁程序只能使两颗LED正常工作。通过对比英文芯片手册,发现店家提供的例程使用了错误的寄存器。经过修正,现在四颗LED都能正常闪烁。此博客记录了解决过程并分享了修复后的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         全部学习汇总:https://github.com/GreyZhang/PIC18F

         说起来,LED闪烁这样的功能的确是太入门了级别了。或许由于简单,这个在一定程度上是嵌入式的hello world。有很多嵌入式工程师自嘲说最是点灯工程师或许也是因为这个简单,因此用以自嘲说自己的技术初级。

         本来,不打算做这个初级的小结了。但是,这次有点小故事。我从某宝上买了一个开发板,PIC18F4580的MCU,上面带着4颗LED。提供的demo里面,有LED闪烁的程序。我烧录之后,发现只有2颗在闪而且状态异常。难道是板子坏了?

         尝试缩小软件的问题范围,发现前两个LED闪烁,加上第三个居然让第二个不闪了。这么看来,肯定是软件有问题了。

         店家服务周到,给了中文版本的芯片手册。看了半天,一头雾水,甚至觉得他们提供的例程也没问题。后来觉得,这个中文的芯片手册好像优点干巴巴的少点什么。于是,找了英文的翻看。很顺利,三分钟直接解决问题:店家的例子用错了寄存器!

         我自己修改过的代码,也传到了我的github学习笔记repo中。也不能够保证百分百OK,但是至少目前的4颗LED工作还是OK的。

         例程里面乱起八糟的其他的代码也有一堆,冗余代码也有,都是小问题了。好在,等已经闪了!

         这次,主要的问题点不做详细描述了,关键diff如下:

         不知道其他人使用这个板子学习的时候又会是一个什么状态呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值