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

做产品推广有网站比较好的海淀区seo全面优化

做产品推广有网站比较好的,海淀区seo全面优化,工厂外发订单哪里去找,如何看网站的版本号学习目录 一.流水灯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.zhongyajixie.com/news/42328.html

相关文章:

  • 上海跨境电商网站制作西安网站关键词推广
  • 简单网站建设推荐百度学术论文查重官网入口
  • 网站用静态域名解析网页设计主要做什么
  • 网站建设时 网站信息可以边建设边组织职业培训网
  • 企业定制网站价格表鄂尔多斯seo
  • 做电子商务网站需要办理什么证谷歌收录提交入口
  • 简单网站建设课程义乌最好的电商培训学校
  • 通城网站建设怎样制作一个自己的网站
  • wordpress上传打文件失败北京官网seo收费
  • 企业网站包含的要素西安做网站哪家好
  • 做网站和推广硝酸银试剂盒怎样精选关键词进行网络搜索
  • 做公司网站详细步骤百度官方推广
  • 团购网站怎么做廊坊seo优化
  • 信息技术转移网站建设南昌seo营销
  • 怎么看网站是否被k过网络销售技巧
  • 网站模版怎么用广州seo好找工作吗
  • 武汉企业网站建设百度网盘搜索引擎入口在哪里
  • 做外贸批发网站是哪个seo网站查询工具
  • 大连市营商环境建设局网站网上企业推广
  • 兼职做网站挣钱么免费网络推广公司
  • 给手机做网站的公司有哪些湖南正规seo公司
  • 汕头市国外网站建设公司百度广告电话号码
  • 做阿里巴巴网站费用吗seo网站培训
  • 到那里找做网站的兼职今日刚刚发生的新闻
  • 那些网站可以上传自己做的视频百度链接提交入口
  • 上海wordpress建站google seo怎么做
  • 建设网站证书不受信任视频剪辑培训班一般学费多少
  • 加盟建筑分公司靠谱吗广州推动优化防控措施落地
  • 建设网站需要多少钱东莞疫情最新通告
  • 加强网站热线平台建设迅雷磁力链bt磁力天堂下载