1. 程式人生 > 實用技巧 >426_PIC18F4580實現LED閃爍

426_PIC18F4580實現LED閃爍

全部學習彙總:https://github.com/GreyZhang/PIC18F

說起來,LED閃爍這樣的功能的確是太入門了級別了。或許由於簡單,這個在一定程度上是嵌入式的hello world。有很多嵌入式工程師自嘲說最是點燈工程師或許也是因為這個簡單,因此用以自嘲說自己的技術初級。

本來,不打算做這個初級的小結了。但是,這次有點小故事。我從某寶上買了一個開發板,PIC18F4580的MCU,上面帶著4顆LED。提供的demo裡面,有LED閃爍的程式。我燒錄之後,發現只有2顆在閃而且狀態異常。難道是板子壞了?

嘗試縮小軟體的問題範圍,發現前兩個LED閃爍,加上第三個居然讓第二個不閃了。這麼看來,肯定是軟體有問題了。

店家服務周到,給了中文版本的晶片手冊。看了半天,一頭霧水,甚至覺得他們提供的例程也沒問題。後來覺得,這個中文的晶片手冊好像優點乾巴巴的少點什麼。於是,找了英文的翻看。很順利,三分鐘直接解決問題:店家的例子用錯了暫存器!

我自己修改過的程式碼,也傳到了我的github學習筆記repo中。也不能夠保證百分百OK,但是至少目前的4顆LED工作還是OK的。

例程裡面亂起八糟的其他的程式碼也有一堆,冗餘程式碼也有,都是小問題了。好在,等已經閃了!

這次,主要的問題點不做詳細描述了,關鍵diff如下:

不知道其他人使用這個板子學習的時候又會是一個什麼狀態呢?