历史上的今天
今天是:2025年02月14日(星期五)
2019年02月14日 | 跑马灯实验-寄存器版
2019-02-14 来源:eefocus
1、参考资料 《STM32F1开发指南-寄存器》-第六章 跑马灯实验6.1小节
《STM32中文参考手册_V10》-8.2 GPIO寄存器描述 7.3.7 APB2外设时钟使能寄存器(RCC_APB2ENR)
2、编写步骤:
使能IO口时钟。配置寄存器RCC_APB2ENR。
初始化IO口模式。配置寄存器GPIOx_CRH/CRL
操作IO口,输出高低电平。配置寄存器GPIOX_ODR或者BSRR/BRR。
3、详细
新建文件夹HARDWARE,在此文件夹中新建led.c,led.h 在工程中新建分组HARDWARE,在path中添加路径
RCC_APB2ENR寄存器
led.c
#include "led.h"
#include "stm32f10x.h"
void LED_Init()
{
//对PB和PE进行时钟使能
RCC->APB2ENR |= 1<<3; //使能GPIOB
RCC->APB2ENR |= 1<<6; //使能GPIOE
//GPIOB.5 推挽输出,速度50MHz
GPIOB->CRL &= 0xFF0FFFFF; //将5四个位清零
GPIOB->CRL |= 0x00300000; //赋值
GPIOB->ODR |= 1<<5; //PB5输出高电平
//GPIOE.5
GPIOE->CRL &= 0xFF0FFFFF; //将5四个位清零
GPIOE->CRL |= 0x00300000; //赋值
GPIOE->ODR |= 1<<5; //PE5输出高电平
}
main.c
int main()
{
while(1)
{
GPIOB->ODR |= 1<<5; //PB5输出高电平
GPIOE->ODR |= 1<<5; //PE5输出高电平
delayms(300);
GPIOB->ODR &= ~(1<<5); //PB5输出低电平
GPIOE->ODR &= ~(1<<5); //PE5输出低电平
delayms(300);
}
}



上一篇:跑马灯-位带操作
史海拾趣
|
跪求高手指点: 在安装凌华采集卡驱动时,系统提示:If your drivers DO NOT perform DMA and INTERUPT Operation , & ...… 查看全部问答> |
|
本人新做一个有关数据采集的项目,问些比较菜的问题~!! 见笑啊 数据采集卡是12位的,用256k的频率进行数据采集,fifo缓冲区是8k*16bit。 我想知道这个缓冲区能存多少个数,缓冲区存满需要多 ...… 查看全部问答> |
|
就拿我们现实中普通的计数器来说吧,当我按下1键后,在它内部会产生什么情况?难道会产生一股电流?这股电流如何把1这个信息存储在内部某个元件上啊?这个元件是如何存储它的啊?我需要详细的了解最最底层的原理啊,硬件是如何识别0和1的?如何存储 ...… 查看全部问答> |
|
各位大师们好 我现在在三星Armv4-2410ep教学开发板上做串口通信的开发。我是在Windows Ce 4.2的平台下作的。台子上的Serial 0,我可以轻松搞定,可是Serial 2我怎么调也调不成功?这是为什么? 答案正确,一定给分 ...… 查看全部问答> |
|
unsigned char *c[25]={\"00\",\"01\",\"02\",\"03\",\"04\",\"05\",\"06\",\"07\",\"08\",\"09\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"24\"}; //向串口发送一个字符串,长度不 ...… 查看全部问答> |




