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

唯品会一家做特卖的网站优化服务平台

唯品会一家做特卖的网站,优化服务平台,制作单页网站要网址,做电信网站运营一. 了解并掌握HAL库函数开发方法。安装 stm32CubeMX,配合Keil,使用HAL库方式完成下列任务: 1、重做上一个LED流水灯作业,用GPIO端口完成2只LED灯的周期闪烁。 2、接上,再用GPIO端某一管脚接一个开关(用杜邦…

一. 了解并掌握HAL库函数开发方法。安装 stm32CubeMX,配合Keil,使用HAL库方式完成下列任务:

1、重做上一个LED流水灯作业,用GPIO端口完成2只LED灯的周期闪烁。

2、接上,再用GPIO端某一管脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,对应的两个LED灯停止工作(即停止周期性闪烁),接低电平时,恢复工作。

二. 在没有示波器条件下,使用Keil的软件仿真逻辑分析仪功能观察LED管脚的时序波形,分析上面作业按键中断时,LED灯的波形变化情况。

文章目录

  • 一、安装 stm32CubeMX及项目创建
  • 二、GPIO端口完成2只LED灯的周期闪烁
    • 1、代码编写
    • 2、编译与烧录
  • 三、中断控制LED周期性闪烁
    • 1、创建项目
    • 2、代码编写
    • 3、编译和烧录
  • 四、使用Keil观察波形
    • 1、设置相关参数
    • 2、点击放大镜,选择逻辑分析仪->点击setup,选择要观察的引脚
    • 3、最终波形及分析
  • 总结
  • 参考资料

一、安装 stm32CubeMX及项目创建

参考资料:https://blog.csdn.net/weixin_56102526/article/details/120877293

二、GPIO端口完成2只LED灯的周期闪烁

这里用到的2只LED灯分别接PA5、PA6端口。

1、代码编写

在main.c文件的main函数下的while循环中,添加下面几行代码。

注意所有自己编写的代码请放在/* USER CODE BEGIN XXX / / USER CODE END XXX */之间;这样我们修改工程的时候你自己写的代码就不会被删除。

    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_RESET);  // PA6亮HAL_Delay(1000); // 延时1sHAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);  // PA6灭HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);  // PA5亮HAL_Delay(1000); // 延时1sHAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);  // PA5灭

2、编译与烧录

点击魔法棒

点击Debug->点击Settings

在这里插入图片描述

点击Flash Download->勾选Reset and Run->点击确定

在这里插入图片描述

将面包板与电脑连接,点击编译后,再点击load

在这里插入图片描述

最终的效果

在这里插入图片描述

三、中断控制LED周期性闪烁

设置PA5、PB9端口分别接一个LED灯,其次设置PA0接一个开关。设置LED灯初始状态为灭,即GPIO口初始化为高电平;因为当开关接高电平时,对应的两个LED灯停止工作(即停止周期性闪烁),接低电平时,恢复工作,所以PA0口选择上升沿下降沿触发。这里设置一个变量n,当该变量为0时流水灯工作,当n为1时流水灯停止,而这个变量由中断函数内部控制,当检测到电平变化时,将n取反,0变1,1变0,实现整个过程。

1、创建项目

(1)选择芯片,STM32F103C8T6

在这里插入图片描述

在这里插入图片描述

(2)时钟RCC配置

在这里插入图片描述

(3)SYS配置

在这里插入图片描述

(4)GPIO配置

在芯片图中选择PA5、PB9为GPIO_Output,PA0设置为EXTI0_Line

在这里插入图片描述

点击左侧表格,设置PA5、PB9初始状态为High;选中PA0,将GPIO Mode设置为上升沿下降沿触发,将GPIO Pull-up/Pull-down设置为上拉电阻模式(Pull-up),别名设置为switch interrupt

(6)NVIC配置

勾选如图所示的中断方式

在这里插入图片描述

(7)时钟树配置

在这里插入图片描述

(8)设置工程名与工程路径
在这里插入图片描述

(9)设置工程文件,并导出

在这里插入图片描述
在这里插入图片描述

2、代码编写

定义全局变量

uint8_t n=0;

中断触发函数的设置

在Keil文件中的在Keil文件中的stm32f1xx_hal_gpio.c文件可以找到中断服务函数。HAL_GPIO_EXTI_Callback(GPIO_Pin)函数,此函数为回调函数,我们打开可以发现前面有个weak。

前面的 __weak 表示此函数为虚函数,需要用户重写的。

在这里插入图片描述

我们在main.c文件中找个地方重新写一下。

位置在main函数下方。

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{if( GPIO_Pin == switch_interrupt_Pin)//判断外部中断源{                                                                                                                                                                                                                                                                     n=!n;//转变n的状态}
}

在这里插入图片描述

在main.c文件的main函数下的while循环中,添加下面几行代码。

   switch(n){case 0:{HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);//PA4亮灯HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯HAL_Delay(1000);//延时1sHAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);//PA4熄灯HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_SET);//PC15熄灯HAL_Delay(1000);//延时1s	break;}case 1:   {HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,1);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,1);break;}}

3、编译和烧录

步骤与上一个实验一致

烧录结果

HAL

四、使用Keil观察波形

1、设置相关参数

点击魔法棒->点击Debug

在这里插入图片描述

2、点击放大镜,选择逻辑分析仪->点击setup,选择要观察的引脚

点击右上角的添加输入:

输入PORTX.y回车,信号输入类型选择bit(X为GPIO口号,y为选择的引脚号)

在这里插入图片描述
在这里插入图片描述

3、最终波形及分析

在这里插入图片描述

由波形可知,一个波形的变化约为1s,与我们预期设计一致。

总结

这次HAL库点灯实验,相比于标准库和寄存器,它的编写显得更加简单。提高了动手能力,也对中断函数的应用更加熟练。

参考资料

https://blog.csdn.net/m0_63650001/article/details/133896352

https://blog.csdn.net/weixin_55376063/article/details/127414616

http://www.yidumall.com/news/51575.html

相关文章:

  • 网站设计的价格百度应用搜索
  • 织梦网站查看原有文章seo诊断优化方案
  • app定做开发公司百度有专做优化的没
  • 更换网站模板搜索引擎优化案例
  • 霸州建设局网站网站制作专业
  • 阳春网站建设优化用户体验
  • 博罗惠州网站建设市场营销推广方案
  • 香港做网站什么费用搜索引擎优化期末考试答案
  • 婚恋网站应聘做销售百度广告位
  • 网站图标素材图片怎么推广自己的网站?
  • 用jsp做网站怎么分区数据分析工具
  • 泰州公司做网站营销托管全网营销推广
  • 门户网站 建设方案小说关键词搜索器
  • 网站优化排名金苹果系统青岛网站建设公司排名
  • 三个律师做网站合适吗今日新闻大事
  • 建站之星好不好2021年近期舆情热点话题
  • 域名需要跟网站名称一致么东莞网站公司
  • 怎样设置隐藏wordpress海淀区seo多少钱
  • 二级网站怎样被百度收录网站优化推广外包
  • 信誉好的微网站建设宁波seo在线优化方案公司
  • 建设工程业绩查询网站百度app浏览器下载
  • 做淘宝网站要安全保障么谷歌广告推广怎么做
  • seo推广关键词公司好的seo公司营销网
  • wordpress本站只对会员开放互联网广告推广公司
  • 成年做羞羞的视频网站space单页网站制作教程
  • 沈阳建站免费模板站长统计app软件下载
  • 寻找在山西运城专业做网站推广的公司专业网站建设
  • 做图片推广的网站有哪些网络营销策划书
  • 企业做英文网站关键词搜索排名怎么查看
  • 做网站的图片网页制作咨询公司