STM32学习日记 DAY2

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了STM32学习日记 DAY2脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

软硬件继续沿用。 .c和.h的区分:.c文件是程序文件,内含函数实现,变量定义等内容;.h文件是头文件,内含函数声明、宏定义、结构体定义等内容。 今天学习内容,将1<<?移位置1复0的操作进行优化,增加可读性。

  1. 新建stm32f10x_gpio.c和stm32f10x_gpio.h并加入
  2. stm32f10x_gpio.h:编译gpio函数
点击查看代码
#ifndef __STM32F10X_GPIO_H //当文件会被多个调用的时候,使用该方法不会因为重复定义报错(如果未定义,那么进行定义,如果定义了,则end)
#define __STM32F10X_GPIO_H

#include "stm32f10x.h"

#define GPIO_Pin_0   ((uint16_t)(1<<0))
#define GPIO_Pin_1   ((uint16_t)(1<<1))
#define GPIO_Pin_2   ((uint16_t)(1<<2))
#define GPIO_Pin_3   ((uint16_t)(1<<3))
#define GPIO_Pin_4   ((uint16_t)(1<<4))
#define GPIO_Pin_5   ((uint16_t)(1<<5))
#define GPIO_Pin_6   ((uint16_t)(1<<6))
#define GPIO_Pin_7   ((uint16_t)(1<<7))
#define GPIO_Pin_8   ((uint16_t)(1<<8))
#define GPIO_Pin_9   ((uint16_t)(1<<9))
#define GPIO_Pin_10  ((uint16_t)(1<<10))
#define GPIO_Pin_11  ((uint16_t)(1<<11))
#define GPIO_Pin_12  ((uint16_t)(1<<12))
#define GPIO_Pin_13  ((uint16_t)(1<<13))
#define GPIO_Pin_14  ((uint16_t)(1<<14))
#define GPIO_Pin_15  (uint16_t)(1<<15))
#define GPIO_Pin_A11 ((uint16_t)0xffff)

void GPIO_SetBits(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin);
void GPIO_RetsetBits(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin);

#endif  //__STM32F10X_GPIO_H
  1. stm32f10x_gpio.c:调用stm32f10x_gpio.h库函数,定义置1和复0函数
点击查看代码
#include "stm32f10x_gpio.h"
void GPIO_SetBits(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{
	GPIOx->BSRR = GPIO_Pin;
}
void GPIO_RetsetBits(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{
	GPIOx->BRR = GPIO_Pin;
}
  1. main.c:添加延时函数,使灯闪烁
点击查看代码
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"

void delay( unsigned int count )
{
	for(; count!=0; count--);
}

int main(void)
{
	*(unsigned int *)0X40021018 |=  (1<<5);
	GPIOD->CRL |=  (1<<8);
	while(1)
	{
	GPIO_RetsetBits(GPIOD,GPIO_Pin_2);
	delay(0xfffff);
		
	GPIO_SetBits(GPIOD,GPIO_Pin_2);
	delay(0xfffff);
	}
}

void SystemInit(void)
{
}

脚本宝典总结

以上是脚本宝典为你收集整理的STM32学习日记 DAY2全部内容,希望文章能够帮你解决STM32学习日记 DAY2所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: