当前位置: 首页 > news >正文

企业网站备案申请动态速写网站

企业网站备案申请,动态速写网站,wordpress 抽奖,做网站属于印花税哪个范畴学习目录 一.流水灯1.创建文件2.编写相关代码 一.流水灯 1.创建文件 将方法进行分类保存在不同的 .c 文件中,方便复用和寻找; 创建Hardware\LED文件,其中有led.c和led.h文件,用于存放有关LED灯操作的方法; 在User文…

学习目录

  • 一.流水灯
    • 1.创建文件
    • 2.编写相关代码

一.流水灯

1.创建文件

将方法进行分类保存在不同的 .c 文件中,方便复用和寻找;

创建Hardware\LED文件,其中有led.c和led.h文件,用于存放有关LED灯操作的方法;

在User文件中创建delay.c和delay.h文件,用于存放延迟的方法;

在这里插入图片描述

2.编写相关代码

(1)编写LED灯有关的代码:
在led.h中声明方法名等,方便其他 .c 文件进行引用;

#ifndef __LED_H
#define __LED_H#include "stm32f10x.h"//宏定义
#define LED1 GPIO_ODR_ODR0
#define LED2 GPIO_ODR_ODR1
#define LED3 GPIO_ODR_ODR8//初始化
void LED_Init(void);//控制某个LED的开关
void LED_On(uint16_t led);
void LED_Off(uint16_t led);//翻转LED状态
void LED_Toggle(uint16_t led);//对一组LED灯,全开全关
void LED_OnAll(uint16_t leds[],uint8_t size);
void LED_OffAll(uint16_t leds[],uint8_t size);#endif

在led.c中实现方法:

#include "led.h"//初始化
void LED_Init(void)
{//1.时钟配置;为了让stm32的时钟与外设的时钟进行适配RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;//2.GPIO工作模式配置;GPIOA->CRL &= ~GPIO_CRL_CNF0;GPIOA->CRL |= GPIO_CRL_MODE0;GPIOA->CRL &= ~GPIO_CRL_CNF1;GPIOA->CRL |= GPIO_CRL_MODE1;GPIOA->CRH &= ~GPIO_CRH_CNF8;GPIOA->CRH |= GPIO_CRH_MODE8;//3.PA0输出高电平,默认关灯;LED_Off(LED1);LED_Off(LED2);LED_Off(LED3);
}//控制某个LED的开关
void LED_On(uint16_t led)
{GPIOA->ODR &= ~led;
}void LED_Off(uint16_t led)
{GPIOA->ODR |= led;
}//翻转LED状态
void LED_Toggle(uint16_t led)
{//需要先判断当前LED状态,读取IDR对应位if((GPIOA->IDR & led) == 0){LED_Off(led);}else{LED_On(led);}
}//对一组LED灯,全开全关
void LED_OnAll(uint16_t leds[],uint8_t size)
{for (uint8_t i = 0; i < size; i++){LED_On(leds[i]);}}void LED_OffAll(uint16_t leds[],uint8_t size)
{for (uint8_t i = 0; i < size; i++){LED_Off(leds[i]);}
}

(2)编写延迟的代码:

在delay.h中:

#ifndef __DELAY_H
#define __DELAY_H#include "stm32f10x.h"void Delay_us(uint16_t us);
void Delay_ms(uint16_t ms);
void Delay_s(uint16_t s);#endif

在delay.c中:

在该方法中使用到了stm32中自带的系统时钟

#include "delay.h"// 延时函数,微秒作为单位,利用系统嘀嗒定时器,72MHz,一次嘀嗒 1/72 us
void Delay_us(uint16_t us)
{//1.装载一个计数器,72 * usSysTick->LOAD = 72 * us;//2.配置,使用系统时钟(1),计数结束不产生中断(0),使能定时器(1)SysTick->CTRL |= 0x05;//3.等待计数值变为0,判断CTRL标志位COUNTFLAG是否位1while ((SysTick->CTRL & SysTick_CTRL_COUNTFLAG) == 0){}//4.关闭定时器SysTick->CTRL &= ~SysTick_CTRL_ENABLE;}void Delay_ms(uint16_t ms)
{while (ms--){Delay_us(1000);}}void Delay_s(uint16_t s)
{while (s--){Delay_ms(1000);}}

(3)主函数编写:

#include "led.h"
#include "delay.h"int main(void)
{//初始化LEDLED_Init();//定义一个LED数组uint16_t leds[] = {LED1,LED2,LED3};//在循环中执行流水灯,依次点亮每个灯,保持一段时间再关灯;while(1){for (uint8_t i = 0; i < 3; i++){LED_On(leds[i]);Delay_ms(500);LED_Off(leds[i]);  }}
}
http://www.yayakq.cn/news/865073/

相关文章:

  • 银川网站开发网站运营推广怎做
  • 国外网站推广软件天津业之峰装饰公司怎么样
  • 互联网行业网站模板北京市住房与城乡建设网站
  • winserver2008上用iis发布网站鹤岗建设局网站
  • 网站开发需求分析中性能需求wordpress 启动流程
  • 做不好的网站违法吗创建一个网站网站空间费用
  • 做电商平台网站有哪些内容哪些知名网站用wordpress
  • php网站做cdn手机苗木网站源码
  • 天津网站备案重庆网站制作系统
  • 美容美发网站模板网站建设ag
  • 网站建设公司领导致辞如何建设网站 企业
  • 搜狐网站建设设计建设网站网站建站
  • 正规网站建设哪家好网站建设西班牙语
  • 怎么做外国网站流量网站备案时间太长
  • 网站动态模板东莞网络建设
  • 如何建立网站平台网站制作合同注意事项
  • 如何建购物网站怎么做单位网站
  • php技术的网站建设实录方案阿里云服务器怎么用
  • 做旅行网站多少钱公众号开发者中心在哪
  • 做网站怎么电话约客户网站开发还是软件开发
  • 展览公司网站建设方案企业网站开发 外文文献
  • 网站客户案例的网站推广花费多少钱
  • 临沂自助建站软件网站设计素材网站推荐
  • 做网站开什么端口网站文明专栏建设
  • 在线做ppt的网站深圳百度关键词
  • 免费邯郸网站建设中山电子商务网站建设
  • 烟台建设网站seo综合
  • 信誉好的网站建设公司宜昌网站改版
  • 梅州市住房和建设局网站建设论坛网站要备案
  • 网站建设ppt模板下载合水口网站建设