iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 24
1
IoT

熟悉Arduino的Maker必看!30天帶你快速入門基於STM32嵌入式開發~系列 第 24

[Day 24]-【STM32系列】多級串聯點矩陣 x MAX7219

dot matrix 4

https://ithelp.ithome.com.tw/upload/images/20201009/20120093Bu7Pt9dzv6.jpg

真像個廣告看板

我串聯了四個MAX7219點矩陣模組,每一級的資料輸出pin腳(Dout)接到下一級的資料輸入pin腳(Din),所有點矩陣的CS連接在一起

Setup

這裡我使用GPIOC 的0、1、2 pin腳,作為點矩陣的data、cs、clock。
https://ithelp.ithome.com.tw/upload/images/20201009/20120093jfkxEotvnk.png

透過CubeMx生成code之後,到下片連結下載兩個檔案:
將max_matrix_stm32.h放在inc文件夾中
然後將max_matrix_stm32.c放在src文件夾中

https://drive.google.com/drive/folders/1xJOzhTWhGU5pm1LAdWjccCpPY7OLyfhl?usp=sharing

在max_matrix_stm32.h檔案中更改需要的pinout

//更改下面的max7219 PORT和引腳
#define maxport GPIOC
#define data_Pin GPIO_PIN_0 
#define cs_Pin GPIO_PIN_1
#define clock_Pin GPIO_PIN_2

//設置要使用的點矩陣顯示的數量
#define num 4

初始化點矩陣用函數,將亮度值0~15傳回:

void max_init (uint8_t brightness);

寫入單一字符用函數:

void write_char (char c, uint8_t max)

c:為單一字符
max:選擇點矩陣,第一顆從1開始

write_char ('A',4); //在第4顆顯示A
write_char ('B',3); //在第3顆顯示B
write_char ('C',2); //在第2顆顯示C
write_char ('D',1); //在第1顆顯示D

相關連結


結語

天氣好濕冷。。


上一篇
[Day 23]-【STM32系列】BI BI BUZZER!BI BI !
下一篇
[Day 25]-【STM32系列】串列通訊的老祖宗:UART
系列文
熟悉Arduino的Maker必看!30天帶你快速入門基於STM32嵌入式開發~30

尚未有邦友留言

立即登入留言