本文最后修改时间:2022年09月05日 11:02
一、本节简介
本节介绍如何编写一个LED驱动。
二、实验平台
1、硬件平台
1)树莓派pico开发板
①树莓派pico开发板*2
②micro usb数据线*2
2)电脑
2、软件平台
1)VS CODE
三、版权声明
1)作者:甜甜的大香瓜
2)声明:喝水不忘挖井人,转载请注明出处。
3)纠错/业务合作:897503845@qq.com
4)香瓜嵌入式之树莓派群:512598061
5)本文出处:原创连载资料《简单粗暴学树莓派》
6)完整开源资料下载地址(电脑端打开):
opengua.taobao.com
四、实验前提
1、在进行本文步骤前,请先阅读以下章节:
1)《简单粗暴学树莓派》的“第一章至第二章”章节。
2、在进行本文步骤前,请先实现以下章节:
1)《简单粗暴学树莓派》的《香瓜树莓派pico之新建工程》章节。
五、基础知识
暂无
六、硬件原理
引脚号 | 功能 |
25 | LED |
七、实验步骤
1、在VS CODE工程的GUA_CODE文件夹下,添加驱动GUA_Led.c
#include "pico/stdlib.h" #include "GUA_Led.h" void GUA_Led_Set(uint8_t nGUA_led_set) { //set led 1 if(nGUA_led_set == GUA_LED_SET_HIGH) { gpio_put(GUA_LED_PIN, 1); } //set led 0 else { gpio_put(GUA_LED_PIN, 0); } } void GUA_Led_Init(void) { gpio_init(GUA_LED_PIN); gpio_set_dir(GUA_LED_PIN, GPIO_OUT); } |
2、在VS CODE工程的GUA_CODE文件夹下,添加驱动头文件GUA_Led.h
#ifndef _GUA_LED_H_ #define _GUA_LED_H_ #define GUA_LED_PIN 25 #define GUA_LED_SET_HIGH 1 #define GUA_LED_SET_LOW 0 extern void GUA_Led_Set(uint8_t nGUA_led_set); extern void GUA_Led_Init(void); #endif |
3、将新写的驱动文件新添加到可执行
4、修改main
#include "pico/stdlib.h" #include "GUA_Led.h" int main() { GUA_Led_Init(); while (true) { GUA_Led_Set(GUA_LED_SET_HIGH); sleep_ms(1000); GUA_Led_Set(GUA_LED_SET_LOW); sleep_ms(1000); } } |
七、实验结果
编译并仿真,全速运行下可看到LED在每隔1秒变换一次亮灭状态。
因此实验成功。