野火stm32指南者开发板点亮LED
2023-08-12 11:27:44 来源:博客园
(资料图)
- 1.芯片手册中的LED电路图
- 2.官网手册
- 3.代码演示
- 3.1
stm32f10x.h
头文件 - 3.2 点亮绿灯
- 3.3 点亮蓝灯
- 3.4 点亮红灯
- 3.5 LED灯闪烁,绿灯闪烁 。
- 3.6 红绿蓝三色LED灯切换闪烁
- 3.1
1.芯片手册中的LED电路图
2.官网手册
3.代码演示
3.1 stm32f10x.h
头文件
#ifndef _STM32F10X_H#define _STM32F10X_H/*片上外设基地址 */#define PERIPH_BASE ((unsigned int)0x40000000)// APB1 总线基地址#define APB1PERIPH_BASE PERIPH_BASE// APB2 总线基地址#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)// AHB 总线基地址#define AHBPERIPH_BASE (PERIPH_BASE + 0x20000)/* GPIOB */#define GPIOB_BASE (APB2PERIPH_BASE + 0x0C00)// 端口配置低寄存器 PB0-PB7 配置是输入还是输出#define GPIOB_CRL*(unsigned int*)(GPIOB_BASE+0x00)// 端口配置高寄存器 PB8-PB15 配置是输入还是输出 #define GPIOB_CRH*(unsigned int*)(GPIOB_BASE+0x04)#define GPIOB_IDR*(unsigned int*)(GPIOB_BASE+0x08)// 端口输出数据寄存器 配置PB0-PB15是高电平还是低电平#define GPIOB_ODR*(unsigned int*)(GPIOB_BASE+0x0C)#define GPIOB_BSRR *(unsigned int*)(GPIOB_BASE+0x10)#define GPIOB_BRR*(unsigned int*)(GPIOB_BASE+0x14)#define GPIOB_LCKR*(unsigned int*)(GPIOB_BASE+0x18)/* 时钟端口 */#define RCC_BASE (AHBPERIPH_BASE + 0x1000)// GPIOB所在的时钟端口#define RCC_APB2ENR (*(unsigned int *)(RCC_BASE + 0X18))#endif
3.2 点亮绿灯
#include "stm32f10x.h"void SystemInit(void){}int main(void){// 打开 GPIOB 端口的时钟RCC_APB2ENR |= ( (1) << 3 );// 配置IO口为推挽输出,这里将图2中的CNF0和MODE0都置0GPIOB_CRL &= ~( (0x0f) << (4*0) );// 这里将图2中的MODE0变成01GPIOB_CRL |= ( (1) << (4*0) );// 控制 ODR 寄存器,这行代码省略也可以使灯亮,这里将图3中的ODR0置0GPIOB_ODR &= ~(1<<0);while(1);}
3.3 点亮蓝灯
#include "stm32f10x.h"void SystemInit(void){}int main(void){// 打开 GPIOB 端口的时钟RCC_APB2ENR |= ( (1) << 3 );// 配置IO口为推挽输出,这里将图2中的CNF1和MODE1都置0GPIOB_CRL &= ~( (0x0f) << (4*1) );// 这里将图2中的MODE1变成01GPIOB_CRL |= ( (1) << (4*1) );// 控制 ODR 寄存器,这行代码省略也可以使灯亮,这里将图3中的ODR1置0GPIOB_ODR &= ~(1<<0);while(1);}
3.4 点亮红灯
#include "stm32f10x.h"void SystemInit(void){}int main(void){// 打开 GPIOB 端口的时钟RCC_APB2ENR |= ( (1) << 3 );// 配置IO口为推挽输出,这里将图2中的CNF5和MODE5都置0GPIOB_CRL &= ~( (0x0f) << (4*1) );// 这里将图2中的MODE5变成01GPIOB_CRL |= ( (1) << (4*1) );// 控制 ODR 寄存器,这行代码省略也可以使灯亮,这里将图3中的ODR5置0GPIOB_ODR &= ~(1<<0);while(1);}
3.5 LED灯闪烁,绿灯闪烁 。
#include "stm32f10x.h"typedef unsigned int uns32_t;void SystemInit(void){}void delay(uns32_t count){for( ; count !=0; count-- );}int main(void){// 打开 GPIOB 端口的时钟RCC_APB2ENR |= ( (1) << 3 );// 配置IO口为输出GPIOB_CRL &= ~( (0x0f) << (4*0) );GPIOB_CRL |= ( (1) << (4*0) );// 控制 ODR 寄存器GPIOB_ODR &= ~(1<<0); while(1){GPIOB_ODR &= ~(1<<0);delay(0xFFFFF);GPIOB_ODR |= (1<<0);delay(0xFFFFF);}}
3.6 红绿蓝三色LED灯切换闪烁
#include "stm32f10x.h"// 绿灯对应的是PB0#define GREEN_LED (0)// 蓝灯对应的是PB1#define BLUE_LED (1)// 红灯对应的是PB5#define RED_LED (5)typedef unsigned int uns32_t;void open_port(int n){/* 配置端口输出,PBn 0100 -> 0011 */// MODEn[1:0]:00 -> 11GPIOB_CRL |= ( 3 << (4*n) );// CNFn[1:0]:01 -> 00GPIOB_CRL &= ~( 3 << (4*n+2) );}void close_port(int n){/* 复位端口,PBn 0011 -> 0100 */// MODEn[1:0]:00 -> 11GPIOB_CRL &= ~( 3 << (4*n) );// CNFn[1:0]:01 -> 00GPIOB_CRL |= ( 1 << (4*n+2) );}void SystemInit(void){}void delay(uns32_t count){for( ; count !=0; count-- );}void blue(){// 绿灯关close_port(GREEN_LED);// 蓝灯开open_port(BLUE_LED);}void green(){// 红灯关close_port(RED_LED);// 绿灯open_port(GREEN_LED);}void red(){// 蓝灯关close_port(BLUE_LED);// 红灯开open_port(RED_LED);}int main(void){/* 打开 GPIOB 端口的时钟 */RCC_APB2ENR |= ( (1) << 3 );/* 配置端口输出,PB5 0100 -> 0011 ,这里配置的是红灯开 */// MODE5[1:0]:00 -> 11GPIOB_CRL |= ( 3 << (4*5) );// CNF5[1:0]:01 -> 00GPIOB_CRL &= ~( 3 << (4*5+2) );while(1){delay(0xfffff);green();delay(0xfffff);blue();delay(0xfffff);red();}}
关键词:
相关阅读
-
野火stm32指南者开发板点亮LED
[toc] 1 芯片手册中的LED电路图“如果您来厦门还没找... -
平顶山市中试基地申报启动,申报范围、...
【大河财立方消息】8月11日,平顶山市科学技术局发布通知,组织申报202 -
熊黛林晒夫妻恩爱合影庆祝老公生日 甜...
名模熊黛林和老公郭可颂婚后一直都是很恩爱的,不过曾经熊黛林在社交网 -
杨惠妍卸任佛山高明区碧桂园董事长
新京报讯(记者寇德娜)8月11日,据天眼查信息显示,佛山市高明区碧桂园 -
老板电器使用2.5亿元自有闲置资金进行投...
乐居财经李兰8月11日,老板电器(002508 SZ)发布公告称,公司近期向中信 -
2023年前6个月,我国水海产品及制品累计...
据我国海关统计,6月,我国水海产品及制品出口15 54亿美元,同比下降21 -
2023年7月社会融资规模存量统计数据报告
初步统计,2023年7月末社会融资规模存量为365 77万亿元,同比增长8 9% -
重拳出击!国家安全机关破获美国中央情...
近期,国家安全机关破获一起美国中央情报局间谍案。犯罪嫌疑人曾某某, -
济南今晨发布暴雨黄色预警,目前济阳、...
济南市气象台于8月12日6时发布雷电黄色预警信号,请注意防范:目前有较 -
东岳硅材变无实控人收关注函 H1预亏202...
东岳硅材变无实控人收关注函H1预亏2020上市募20 7亿 -
大运会香港代表团凯旋 收揽12枚奖牌创...
【大运会香港代表团凯旋】8月9日下午,香港特区政府在香港国际机场举行 -
亳州市省级“中医药文化生态保护区”获...
8月9日,记者从亳州市文化旅游体育局获悉,安徽省文化和旅游厅批复同意 -
中环装备: 独立董事关于提名第七届董事...
中环装备:独立董事关于提名第七届董事会独立董事候选人的独立意见 -
打造现代种业示范区,浦东打算这么做!
新民晚报讯(记者宋宁华)“春种一粒粟,秋收万颗子”,种业可谓现... -
太原市尖草坪区市场监管局开展夏季散装...
为进一步强化食品流通企业主体责任,及时消除食品销售质量安全隐患,近 -
人民日报聚焦山东聊城:优质肉蛋奶丰富...
加快发展现代设施畜牧业,2030年我国畜禽养殖规模化率将达83%以上优质 -
邮储银行安远县支行:金融赋能企业茁壮发展
“邮储银行把金融服务送到了我心坎里!”赣州市安远县经营音响生产的...