PetaLinux工程的常用命令——petalinux-create petalinux-create:此命令创建新的PetaLinux项目或组件。注:有些命令我没用过,瞎翻译有可能会翻译错了,像是和fpgamanager相关的部分。
【STM32】红外遥控 从上图中可以看到,其地址码为0,控制码为21(正确解码后00010101)。可以看到在100ms之后,我们还收到了几个脉冲,这是NEC码规定的连发码(由9ms低电平+2.5ms高电平+0.56ms低电平+97.94ms高电平组成),如果在一帧数据发送完毕之后,按键仍然没有放开,则发射重复码,即连发码可以通过统计连发码的次数来标记按键按下的长短/次数。注意注意⚠️!地址码、地址反码、控制码、控制反码均是8位数据格式按照低位在前,高位在后的顺序发送(LSB)采用反码是为了增加传输的可靠性(可用于校验)
【STM32】IIC STM32F103具有2个I2C总线接口,能够工作于多主模式或从模式,支持标准(100kHz)和快速模式(400kHz)。I2C接口支持7位或10位寻址,7位从模式时支持双从地址寻址。内置了硬件CRC发生器/校验器。它们可以使用DMA操作并支持SMBus总线2.0版/PMBus总线。时钟STM32F103的两个IIC接口外设都挂载在APB1时钟总线上;为了产生正确的时序,必须在I2C_CR2寄存器中设定该模块的输入时钟。输入时钟的频率必须至少是(但APB1一般都会满足吧):标准模式下为:2MHz;
【STM32】DMA DMA,全称为:Direct Memory Access,即直接存储器访问。DMA牛逼的地方应该就是将一个外设的数据内容直接映射到内存中的一堆数据中,通过读数据就读到了外设通过GPIO输入的某些值,就不需要使用CPU费劲巴拉地去访问寄存器获取这些值。
【STM32】RTC 实时时钟(Real Time Clock,RTC),本质是一个独立的计数器,计数频率常为秒,专门用来记录时间。能提供时间(秒钟数)能在MCU掉电后运行(无需VDD供电)低功耗2 应用时间记录、闹钟?3 RTC方案一般都需要设计RTC外围电路;一般都可以给RTC设置独立的电源;多数RTC的寄存器采用BCD码存储时间信息;4 时钟源要获得秒分频,分频系数要设置为32767;5 计数器RTC的计数器RTC_CNT为一个32位的递增计数器。
【STM32】FMC FMC功能与FSMC类似,但比FSMC更强大,但仅在F4 / F7 / H7等高级一点的MCU上支持,F1不支持。虽然我的是F103,但顺便都看了。大部分图片来源:正点原子HAL库课程。
【STM32】FSMC FSMC在正点原子的HAL课程中用法较为单一,就是用来模拟8080时序驱动LCD屏幕,其实就是利用FSMC读写LCD模块的SRAM。当然,这个我也没有买,只学习了理论。大部分图片来源:正点原子HAL库课程。
【STM32】定时器 定时器就像Qt的QTimer,还是硬件级的,超好用。不过有一说一,基本定时器更符合定时器的定义,通用定时器和高级定时器的作用已经不是“定时器”三个字可以概括的了。大部分图片来源:正点原子HAL库课程。
【STM32】看门狗 专栏目录:记录自己的嵌入式学习之路-CSDN博客目录1 应用场景1.1 解决方法——IWDG1.2 解决方法——WWDG2 IWDG2.1 特点2.2 原理2.3 看门狗溢出时间的计算2.4 主要用到的函数2.5 相关的HAL库文件(可以去这里找用到的函数和宏定义)3 WWDG3.1 特点3.2 原理3.3 窗口期3.4 超时时间计算3.5 配置方法 3.6 相关的HAL库文件(可以去这里找用到的函数和宏定义)嵌
【STM32】中断 stm32f1xx_hal_cortex.c(找NVIC函数)startup_stm32103xe.s(找中断服务函数名)stm32f1xx_hal_cortex.c(找NVIC相关函数)stm32f103xe.h(找基地址)startup-stm32f103xe.s(找中断服务函数名)stm32f1xx_hal_gpio.h(为了找清除中断标志位的函数)stm32f1xx_hal_gpio.c(为了找HAL库中断处理公用函数、数据处理回调函数)