首页 > 乐鱼官方网站

04 07 2024

STM32裸机编程的基础知识(5)

相关产品推荐

  现在我们已搭建好了完整的构建、烧写的基础设施,是时候让固件做点儿有用的事情了。什么是有用的事情?当然是闪烁 LED 了!Nucleo-F429ZI 开发板有 3 颗 LED,在开发板数据手册的 6.5 节,我们大家可以看到板载 LED 连接的引脚:

  再次修改main.c文件,添加上引脚定义,然后把蓝色 LED 引脚设为输出模式,开始无限循环。首先,把我们之前讨论过的 GPIO 定义和模式设置拷贝过来,注意,现在又新加了一个BIT(position)工具宏:

  某些微控制器在上电时会把所有外设都自动使能,然而,STM32微控制器在上电时外设是默认关闭的,以降低功耗。为了使能 GPIO 外设,我们需要通过 RCC 单元使能外设时钟。在芯片数据手册 7.3.10 节,可以找到 AHB1ENR寄存器与此相关,还是先定义整个 RCC 单元:

  接下来需要做的就是找到如何开关 GPIO 引脚,然后在主循环中点亮 LED,延时,熄灭 LED,延时。在芯片数据手册 8.4.7 节,能够正常的看到 BSRR 寄存器与设置电压高低有关,低 16 位设置 ODR 寄存器输出高,高 16 位设置 ODR 寄存器输出低。为此定义一个 API 函数:

  下一步我们应该实现一个延时函数,目前还不需要精确延时,所以定义一个spin()函数,执行 NOP 指令给定的次数:

  声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。举报投诉

  。 1位操作 下面我们先讲解几种位操作符,然后讲解位操作使用技巧。C语言支持以下六种位操作: 下面

  Cube、Keil 等框架和 IDE 是如何工作的。本指南完全从头开始,只需要编译器和芯片数据手册,而不依赖任何其它软件工具和框架。

  在前一篇文章中我们已学习到能够最终靠直接访问存储地址来读写外设寄存器,下面复习下将 GPIO A3 设为输出模式的代码。

  F429 MCU 启动时,它会从 flash 存储区最前面的位置读取一个叫作 “向量表” 的东西。“向量表” 的概念所有 ARM MCU 都通用,它是一个包含 32 位中断处理程序地址

  我们可以用 `make` 命令行工具替代手动敲入 “编译”、“链接”、“烧写” 这些命令,自动完成整一个完整的过程。`make` 工具使用一个名为 `Makefile` 的配置文件,从中读取执行动作的指令。这种自动化方式非常棒,因为这样做才能够把构建固件的过程、使用了哪些编译标记等也文档化。

  ?1.固件库就是函数的集合1.1举例2.CMSIS 标准(Cortex Microcontroller Software Interface Standard)1.固件库就是函数

  和HAL库API本章节为我们讲述解答DAC,实际项目用到DAC的地方比较多,而且H7的DAC性能也比较给力。59.1 初学者重要提示59.2 DAC

  的学习路线非常的感兴趣,所以我也分享一下虽然是盗图吧不过也算是分享,下边有觉得不错的视频资料也奉上(

  对于具体开发过程中IO口的使用查阅硬件资料里的数据手册即可!(标注FT的都可以

  V)小结和51单片机相比,操作寄存器这种方法的劣势是你需要去掌握每个寄存器的用法,你才能正确

  开发板提供的函数接口,可拿来配置寄存器。采用库开发的方式,使用结构体封装寄存器参数,用宏表示参数,用函数封装对于寄存器的操作。tex-M3

  是基于ARM内核的32位MCU系列———内核为ARM公司为要求高性能,低成本,低功耗的嵌入式应用专门

  (扩展-IAP大多数都用在产品出厂后应用程序的更新作用,考虑到出厂时要先烧写IAP再烧写APP应用程序要烧写2次增加工人劳动力基础上写了“

  IAP + APP == 双剑合一”链接稍后发)一,在进入主题之前我们先了解一些必要的

  是不能少的,基础奠定了发展的方向。java私塾建议我们大家在学习java语言本身的同时学习一些其他计算机相关的基础课程。1、 一定的英文阅读能力

  L4 系统内置BootLoader的使用(DFU例程)系统Bootloader

  什么是DFU相关参考文档进入BootLoader硬件Boot引脚进入BootLoader模式

  c语言的介绍c语言中的数据类型与变量的介绍功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮

  CUBEMX配置1.新建工程2.配置时钟3.配置调试接口及时基4.配置引脚

  和HAL库API本章节为我们讲述解答USART(Universal synchronous asynchronous receiver transmitter,通用同步异步收发器)的

  和HAL库API本章节为我们讲述解答USART(Universal synchronous asynchronous receiver

  关注、星标公众号,不错过精彩内容作者:strongerHuang对于软件工程师来说,代码升级(或程序更新)算是必备

  (未使用系统)的时候一般都是在mai函数中用循环来处理所有事物,循环调用相应的函数完成事物的处理。

  二、基本定时器(TIM6和TIM7)三、通用定时器(TIM2~TIM6)1.功能特点2.时钟源3.时基单元4.输入捕获

  F4为例,一共有14个定时器:高级定时器(TIM1、TIM8)通用定时器(TIM2TIM

  1、安装代码编辑器2、交叉编译工作使用1、安装代码编辑器参考文档ubuntu几款好用的代码编辑器_百度经验安装sublime text添加

  某些基本外设的工作机理还不甚明了。借此暑假的机会对各个外设的功能做一个简短的总结,在提高自己

  的同时,也给其他同学提供一些参考。先来看门狗部分的内容。看门狗部分内容当中较难理解的...

  ,为下一章底层驱动的讲解做一个铺垫。5.1初学者重要提示5.2什么是MAC5.3 MAC地址5.4

  ,因此我们很有必要熟悉Linux内核以及Linux内核的特点。 这篇文章将会帮助读者打下Linux驱动

  ?1.固件库就是函数的集合1.1举例2.CMSIS 标准(Cortex Microcontroller Software Interface Standard)1.固件库就是函数

  2021 年 10 月,我们发布了 使用 Kotlin 构建 Android 应用的

  包括以下几个方面: 1. 了解PLC工作原理和结构:PLC是由中央处理器、存储器、输入/输出模块、

相关文章