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

大连软件公司排行郴州专业seo

大连软件公司排行,郴州专业seo,它有什么特点,网页设计速成培训学习了江协科技的前4课#xff0c;除了打开套件的第一秒是开心的#xff0c;后面的时间都是在骂娘。因为51的基础已经几乎忘干净#xff0c;c语言已经还给谭浩强#xff0c;模电数电还有点底子#xff0c;硬着头皮上吧。 本篇主要是讲述学习点灯的过程和疑惑解释。 1.工… 学习了江协科技的前4课除了打开套件的第一秒是开心的后面的时间都是在骂娘。因为51的基础已经几乎忘干净c语言已经还给谭浩强模电数电还有点底子硬着头皮上吧。 本篇主要是讲述学习点灯的过程和疑惑解释。 1.工程文件的建立 首先是在keil中建立一个新的工程项目一个完整的工程项目除了基础部分还包含“Library、”Start、“User这三个部分这三个文件夹是需要自己新建的。其中Library是STM32的标准库文件的存放路径初始的例子中所有的官方库文件都会一股脑的复制进来因为这会儿水平还太低不知道如何精准地挑选手头项目需要的库文件因此力大砖飞在这个文件中有.c文件也有.h文件前者是C源代码文件具体用来实现程序的各种功能后者是头文件通常含有与.c文件相对应的函数声明、宏定义、类型定义、外部变量声明等。它的功能是高速编译器某个功能是存在的但不提供具体细节。 例子: 假如你有一个用于管理LED灯的.c文件比如led_control.c它实现了点亮和熄灭LED灯的函数。你同时会有一个对应的led_control.h头文件它声明了那些可以被其他.c文件调用的函数比如turn_on_led()和turn_off_led()。这样其他需要控制LED灯的.c文件只需包含led_control.h头文件就可以调用这些函数而无需知道它们的具体实现。 因此.h文件要在段首声明以便随时调用.c文件中编写的具体功能。 2.主函数的编写与理解 从教程给出的例子可以看出这东西乍一接触让人非常想放弃很头晕。接下来逐条解释上述代码。 2.1RCC_APB2PeriphClockCmd函数 首先是RCC_APB2PeriphClockCmd是一个在STM32微控制器固件库中定义的函数用于控制高速APB2总线上外设的时钟。RCC即Reset and Clock Control时钟的控制与重置是STM32的一个模块用于控制系统的复位和时钟设置。它的完全形式如下 void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState); //RCC_APB2Periph 参数是指定哪个APB2外设的时钟将被使能或者禁用。 //NewState 参数是一个枚举类型FunctionalState它可以是ENABLE或DISABLE用于指定时钟是否应该被使能。 调用的时候形式为 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //RCC_APB2Periph_GPIOC告诉库函数我们想要操作的是GPIOC端口的时钟。 //ENABLE一个宏代表我们想要使能时钟。 因为我们要使用GPIO端口来点亮一个LED所以要先使能GPIO的时钟。我也试了不使能时钟LED点不亮现阶段先默认不管用得到和用不到都要使能时钟。GPIO端口位于APB2的范围内因此这里使能的是RCC_APB2Periph端口与模块的位置见系统结构图红框部分。 2.2 GPIO_InitTypeDef GPIO_InitStructure GPIO_InitTypeDef 是在STM32标准固件库中定义的一个结构体类型它用于初始化GPIO通用输入/输出端口的配置。该结构体通常包括端口的模式如输出模式、输入模式等、速度、输出类型和上拉/下拉电阻配置等属性。 结构体在很多地方有用到比如在MATLAB/SIMULINK中用S函数建立系统的仿真模型时参数太多在程序内填写非常的复杂和困难因此会使用parameters.m结构体保存模型参数。这里也可以相似的理解粗暴且不严谨的理解为结构体是为了保存参数。在使用结构体之前要先定义结构体 GPIO_InitTypeDef GPIO_InitStructure; //定义了一个名称为GPIO_InitStructure的结构体 注意并不是结构体的名称只能是”GPIO_InitStructure可以是你自己取名称。 前面说了定义结构体主要是为了存参数要成为一名“点灯大师”需要用到的参数/设置有 1.GPIO端口的工作模式。有8种模式端口输出4种输入4种点灯需要用GPIO端口输出高/低电平驱动LED所以只用到了输出模式可选的有开漏、推挽、复用开漏、复用推挽。我们这里用不到复用所以可以选择开漏或者推挽模式。 2.GPIO哪个引脚输出电平。GPIO引脚一共有32个A区0-15,B区0-15.具体看LED管接在了哪个引脚GPIO的基本结构见下图 3. GPIO的输出速率。可选的有2MHZ,10MHZ,50MHZ 上述这3点是我们定义结构体需要保存的参数/配置。接下来逐个讲解这三个结构体成员的定义 2.2.1GPIO输出模式定义 本例中我们使用推挽输出的模式因此定义为 GPIO_InitStructure.GPIO_ModeGPIO_Mode_Out_PP; 结构体成员的定义方法是结构体名.结构体成员参数/设置  因此上述定义的意思是GPIO_InitStructure这个结构体的成员GPIO_Mode(GPIO的输出模式为GPIO_Mode_Out_PP(PP: PUSH-PULL OUTPUT推拉/推挽)综上我们选择GPIO端口的工作模式为推挽。 2.2.2GPIO引脚定义 本例中LED接在了GPIOA_0号引脚因此对应的结构体成员定义为 GPIO_InitStructure.GPIO_PinGPIO_Pin_0; 意思是 GPIO_InitStructure这个结构体的成员GPIO_Pin(引脚为0号引脚 2.2.3GPIO输出速率定义 本例中GPIO输出速率使用50MHZ因此相应的结构体成员定义为 GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz; 2.3初始化 在编写完结构体成员后调用初始化函数将结构体参数传入。 GPIO_Init(GPIOA,GPIO_InitStructure); GPIO_Init(GPIOA, GPIO_InitStructure); 是一个用于初始化STM32微控制器中某个GPIO端口上一组引脚的函数调用。该函数采用两个参数第一个参数指定了要初始化的GPIO端口在此例中为GPIOA第二个参数是一个指向GPIO_InitTypeDef结构体的指针该结构体包含了要应用于指定端口上的引脚的配置信息。 2.4循环 在配置完上述参数后用一个死循环来实现LED的点亮 while(1){GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET);} 这里用到的是GPIO的读写函数严格来说是位写函数是一条用于STM32微控制器编程的指令其功能是改变GPIOA端口上第0号引脚的状态。在这个特定的函数调用中它将该引脚的状态设置为Bit_RESET在STM32的库中Bit_RESET通常定义为逻辑低电平相当于0。 我们的二极管的接法是正极连接3.3V负极连接GPIOA_0,因此这个引脚输出低电平二极管导通点亮。 3.利用GPIO点亮流水灯 在成功点亮1个LED之后程序微调就可以实现流水灯点亮。首先需要调整的是结构体中的引脚定义  int main(void) {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_ModeGPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_PinGPIO_Pin_All;//这里的引脚定义改成了所有引脚GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_InitStructure); 具体来说是把要工作的引脚定义为GPIO_Pin_All。 然后利用死循环  while(1){GPIO_Write(GPIOA, ~0x0001);//0000 0000 0000 0001Delay_ms(500);GPIO_Write(GPIOA, ~0x0002);//0000 0000 0000 0010Delay_ms(500);GPIO_Write(GPIOA, ~0x0004);//0000 0000 0000 0100Delay_ms(500);GPIO_Write(GPIOA, ~0x0008);//0000 0000 0000 1000Delay_ms(500);GPIO_Write(GPIOA, ~0x0010);//0000 0000 0001 0000Delay_ms(500);GPIO_Write(GPIOA, ~0x0020);//0000 0000 0010 0000Delay_ms(500);GPIO_Write(GPIOA, ~0x0040);//0000 0000 0100 0000Delay_ms(500);GPIO_Write(GPIOA, ~0x0080);//0000 0000 1000 0000Delay_ms(500);} 这样就把8个GPIO的引脚都输出了低电平中间调用Delay函数延时500毫秒就实现了流水灯功能。
http://www.zqtcl.cn/news/782455/

相关文章:

  • 河南省网站集约化建设国内房地产设计网站建设
  • 长治招聘网站建设电话销售精准客户资源
  • 灵璧有做公司网站的吗自定义wordpress
  • 创个网站怎么弄做国内第一游戏数据门户网站
  • 沈阳网站制作全过程小程序商城的好处
  • 如何建设vr网站长春建站网站模板
  • 做一个网站的费用wordpress mysql配置
  • 重庆专业的网站建设公司怎么套网站
  • 产品网站怎么做企业网站建设用什么
  • 怎样做网站公司大连市住建局官方网
  • 东莞市网站建设平台wordpress用户登录显示请求失败
  • 网站一键收录西宁网站建设西宁
  • 昆山网站h5制作开发地点
  • 承德网站建设设计手机建站服务
  • 成都网站建设思乐科技网站简单化
  • 东莞外贸公司网站制作微信文章链接wordpress
  • 剑灵网站模板效果图网站源码
  • 个人工作室网站源码带后台安徽服装网站建设
  • SEO案例网站建设公司好听的公司名字大全
  • 一些网站只能在微信打开怎么做的别人做的网站域名到期怎么办
  • 姑苏区做网站网站建设一条
  • 赣州人才网站wordpress论坛查看用户密码
  • asp.net 网站开发架构网站你懂我意思正能量不用下载视频
  • 沈阳网站设计推广诸暨网络推广
  • 福建网站开发公司电话成都丁香人才网官网专区
  • 做网站标题居中代码对网页设计作品的意见
  • 网站建设实训考试普洱网站搭建
  • 你认为视频网站如何做推广asp网站木马扫描
  • 学校门户网站什么意思c2c网站建设要多少钱
  • asp怎么样做网站后台陕西咸阳做网站的公司