stm32cubeIDE学习

1-1下载软件及其点个灯

下载链接:https://pan.baidu.com/s/1r1oMmlU6fWibSJjY0G41zg?pwd=o1pr 
提取码:o1pr

第一次进入软件需要自己注册账号下载固件。

基本的点灯操作:Output Push Pull

推挽输出的定义:在stm32的控制下,向外输出0v的低电平或者3.3v的高电平。

保存——自动生成代码(齿轮)——跳转到c++界面(在SCR的文件夹下main.c文件中)——编译(小锤子,可自动编译,需设置)——烧录代码(小绿键)

1-2炫彩小灯及其部分解析

大星星,收藏快速建立工程。

代码写在生成的一对begin和end中间,代码在更新的时候有所保留。

HAL_GPIO_WritePin(,,GPIO_PIN_SET)//高电平

HAL_GPIO_WritePin(,,GPIO_PIN_RESET)//低电平

1s等于1000ms。

Enter User Label每个状态进行编号,定义用户的标签。

定义状态计数器变量。

HAL_GPIO_WritePin(LED_BLUE_GPIO_Port,LED_BLUE_Pin,GPIO_PIN_RESET);//LED_BLUE 是用户标签。

HAL_Delay()//延时。

末尾状态值加一,并且重置。

1-3、串口的轮询模式

程序必须等待发送或者接收结束,才能接着执行;只能接收确定长度的数据。

底层机制:

CPU不停地查询发送数据寄存器中的数据是否已经移送到发送移位寄存器(转换为高低电平发送出去)

接收一样。CPU一直处于忙碌状态下,一直等待使程序暂时无法向下执行的状态叫做“堵塞”。

1-4、STM32串口原理与串口中断模式收发

通过串口,成功解决串口操作一直占用CPU的问题。

使用串口的中断模式解决程序等待问题。原理就是CPU只要将数据塞到寄存器中就可以去处理其他的事件,只有当发送移位寄存器发送完后,会把CPU叫回来,CPU再将数据存入发送数据寄存器,以此反复。

配置界面:

HAL_UART_Transmit_IT函数:中断发送函数。

HAL_UART_Receive_IT(&huart2, ReceiveDate, 2):中断接收函数,由于没有堵塞程序的执行,没等到接收到数据,就直接执行下去了。执行下次循环的时候,可能上次的数据没有接收完,又执行开启串口中断接收,故放在循环前。怎么知道什么时候接收完成,接收完后就可以进行分析:使用中断处理函数,直到接收到了我们设定的数据长度,完成本次接收。

//由于没有堵塞程序的执行,没等到接收到数据,就直接执行下去了�?�执行下次循环的时�?�,可能上次的数据没有接收完,又执行�?启串口中断接收,故放在循环前�?

每一个usart只有一个中断向量,需要简单的判断才能确定当前是什么原因触发的中断,但不需要自己写。有callback回调函数机制:当有什么事情发生时,就会调用这个函数。(弱定义,可以在其他地方重新定义这个函数)__weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)。Cplt:complete接收完成时执行。将代码写在回调函数中,将接收到数据执行的逻辑剪切到回调函数里。处理完一次中断处理回调函数后,为下次接收启动串口中断接收。

总结:

将逻辑移入oid HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: STM32CubeIDE是ST公司官方推出的用于STM32开发的集成开发环境(IDE)。它集成了芯片选择、代码初始化、C/C++程序编写、编译、烧录、调试等功能,无需繁琐的环境配置,资源包配置,软件之间切来切去,真正做到了一个软件完成开发。相比于其他主流的IDE,如ARM公司的Keil,STM32CubeIDE具有更高的集成度,并且基于Eclipse开发,界面与Eclipse非常相似,使用起来也比较容易。你可以参考官方的教程来学习使用方法,官方教程写得非常详细,你可以在软件的Help->Information Center中找到。\[1\] STM32CubeIDE的结构和功能非常丰富,它支持多平台,包括Windows、Mac和Linux。它基于Eclipse平台,集成了Eclipse的C/C++开发工具(CDT)以及众多的插件。在硬件支持方面,它集成了ST公司官方的MCU-Finder(芯片查找与选择)和STM32CubeMX(芯片基础配置与代码初始化)。在调试方面,它集成了Atollic公司的TrueSTUDIO开发工具以及多种灵活的调试方式。它支持ST-LINK、OpenOCD和SEGGER J-Link三种GDB Server(调试程序)进行调试,适用于不同的仿真器硬件。\[2\] 你可以从ST官方网站下载STM32CubeIDE,官网提供了英文和中文版本的下载链接。你可以根据自己的操作系统选择需要的版本进行下载。在下载完成后,你可以进行基本配置,开始使用STM32CubeIDE进行学习和开发。\[3\] #### 引用[.reference_title] - *1* *2* [【STM32学习4】STM32CubeIDE功能介绍](https://blog.csdn.net/junfoot/article/details/126305728)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32Cube IDE学习一【基本配置方法】](https://blog.csdn.net/weixin_48426161/article/details/125540857)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值