
嵌入式入门(STM32F103C8T6)
文章平均质量分 90
笔记为主,重在理解,打好基础。
ByteKun&
学习 linux 中。。。
展开
-
STM32内部Flash
STM32芯片内部有一个Flash存储器,主要用于存储代码,我们在电脑上编写好应用程序后,使用下载器把编译后的代码文件烧录到该内部Flash中。由于Flash存储器的内容在掉电后不会丢失,原创 2024-02-05 23:27:54 · 2254 阅读 · 0 评论 -
常用存储器
存储器按其存储介质特性主要分为两大类( “ 易失 / 非易失 ” 是指存储器断电后,它的特性 )。由于一般易失性存储器存取速度快,而非易失性存储器可长期保存数据,所以它们都在计算机中占据着重要角色。随机存储器“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。现在RAM已经专门用于。根据RAM 的存储机制,又分为(Dynamic RAM) 以及(Static RAM) 两种。原创 2024-02-05 15:52:22 · 1964 阅读 · 0 评论 -
Git 初学
在软件开发过程中,。客户不停地提需求,改需求,你就不停地备份版本。这就像一样,你不停地改论文,导师不停地打回来,到最后就变成了这个样子。不同版本的论文之间 到底修改了哪些东西?时间久了,可能也就 慢慢忘记了。有没有更好的方法去 记录这些详细的变化呢?答案是有的。我们可以 使用来。原创 2024-02-16 00:36:20 · 1226 阅读 · 0 评论 -
STM32常用工具获取
后续据学习情况更新。链接: https://pan.baidu.com/s/1LoWiop8i_CsfWnY9FT_Iig 提取码: 869w。链接: https://pan.baidu.com/s/1o7HyemT2xll4k8CSWXxU_Q 提取码: bbmz。链接: https://pan.baidu.com/s/1cf8B11CDW-_VBVNoE6nuyg 提取码: 4sq8。原创 2024-02-15 16:46:19 · 633 阅读 · 0 评论 -
系统的认识STM32
有两种:一种是。原创 2024-01-16 17:47:28 · 993 阅读 · 1 评论 -
固件库Projects文件夹认识
以结合两个 API 的优点(HAL 提供高级别和面向功能的API,具有高可移植性级别,并向最终用户隐藏产品或 IP 的复杂性。而 L 在寄存器级别提供低级 API,具有更好的优化) 这些示例按外设(每个外设一个文件夹,例如 TIM)进行组织,并且仅在 Nucleo 板上运行。,并提供不同的复杂程度,从给定外设的基本使用(例如,使用定时器生成PWM)到集成多个外设(使用 DAC 生成信号,从 TIM6 和 DMA 同步)。,从而为外设功能和配置过程的典型用例提供最佳实现。描述示例行为和运行示例所需的环境。原创 2024-01-25 22:37:42 · 511 阅读 · 0 评论 -
嵌入式——新建STM32工程(标准库)
1)内核相关文件在CoreSupport文件夹中有 core_cm3.c和 core_cm3.h 两个文件。core_cm3.h头文件里面实现了内核的寄存器映射对应外设头文件 stm32f10x.h,区别就是一个针对内核的外设,一个针对片上(内核之外)的外设。core_cm3.c文件实现了操作内核外部寄存器的函数,用得比较少。2)启动文件启动文件放在startup/arm文件夹下,里面启动文件有很多个,不同型号的单片机用的启动文件不一样。这个头文件实现了片上外设的所有寄存器的映射。原创 2024-01-18 21:18:04 · 1745 阅读 · 1 评论 -
【STM32】OLED显示实验
(3)SCL:OLED 显示模块 IIC 总线时钟信号。(4)SDA:OLED 显示模块 IIC 总线数据信号。(2)VCC:电源正(3.3V / 5V)。2. 可以参考这篇文章学习 OLED。(1)GND:接地。原创 2024-02-16 00:52:27 · 1518 阅读 · 0 评论 -
【STM32】1.8寸LCD显示实验
(5)RES / RST:重启接口(复位)。最好和单片机的复位引脚相接。(8)BL / LED:背光控制,默认浮动,高电平关闭。(6)DC / RS:SPI数据 /命令选择引脚。(2)VCC:3.3V( 尽量不要接 5V )。(1)GND:接地。原创 2024-02-21 21:33:33 · 2096 阅读 · 1 评论 -
STM32——OLED(2)
本博客重在理解OLED的显示原理原创 2024-02-10 16:21:43 · 2247 阅读 · 0 评论 -
STM32——LCD(1)认识
LCD( Liquid Crystal Display,液晶显示器 ),相对于上一代CRT显示器(阴极射线管显示器),LCD显示器具有功耗低、体积小、承载的信息量大及不伤眼的优点,因而成为现在的 主流电子显示设备,包括电视、电脑显示器、手机屏幕及 各种嵌入式设备的 显示器。原创 2024-02-07 17:12:24 · 2370 阅读 · 0 评论 -
嵌入式——CAN(1)
CAN( Controller Area Network ),是ISO国际标准化的串行通信协议。现在,CAN 的高性能和可靠性己被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。CAN 等通信协议的开发,使多种 LAN 通过网关进行数据交换得以实现。原创 2024-02-06 21:36:56 · 1393 阅读 · 0 评论 -
嵌入式——串行外围设备接口(SPI)
串行外围设备接口) 协议是由摩托罗拉公司提出的通信协议。它被广泛地使用在ADC、LCD等设备与MCU间,适用于对通信速率要求较高的场合。原创 2024-02-03 21:38:14 · 1532 阅读 · 0 评论 -
嵌入式——EEPROM(AT24C02)
AT24C02是 低工作电压的 2Kb 串行电可擦除只读存储器,可存储256个字节数据,内部有一个16字节页写缓冲器。AT24C02工作电压 1.8~5.5V,采用二线制IIC数据传输协议,支持硬件写保护,能擦写 100万次,数据可保存 100年。通过器件地址输入端A0、A1和 A2可以实现将最多 8个 AT24C02器件 连接到 IIC总线上。补:EEPROM 是一种掉电后数据不丢失的储存器,常用来存储一些配置信息,在系统重新上电时就可以加载。详细描述可以参考:常用存储器。原创 2024-02-18 00:09:28 · 5987 阅读 · 1 评论 -
嵌入式—— IIC
IIC通信协议是由Philips公司开发的,提供多主机功能,控制所有IIC总线特定的时序、协议、仲裁和定时。由于不需要使用USART、CAN等通信协议的外部收发设备,现在被广泛地用于系统内多个集成电路间的通信。原创 2024-02-02 23:58:48 · 1010 阅读 · 0 评论 -
嵌入式——Flash(W25Q64)
W25Q16、 W25Q32 和 W25Q64 支持标准的 SPl接口,传输速率最大 75 MHz,采用四线制,即4个引脚。① 串行 时钟引脚 (CLK)② 芯片 选择引脚 (CS)③ 串行数据 输出引脚(DO)④ 串行数据 输入 / 输出引脚(DIO):在普通情况下,该引脚是串行输入引脚(DI),当使用快读双输出指令时,该 引脚就变成了 输出引脚,在 这种情况下,芯片就有2个 DO引脚,所以称为双输出,其 通信速率 相当于翻了 一番,所以 传输速率更快。二、W25Q64特性。原创 2024-02-16 21:31:48 · 8743 阅读 · 0 评论 -
嵌入式——数字/模拟转换模块(DAC)
指数字/模拟转换器)可以配置为8位或12位模式,也可以与DMA控制器配合使用。ADC 与 DAC是模拟电路与数字电路之间的桥梁。原创 2024-02-01 16:57:40 · 3162 阅读 · 0 评论 -
嵌入式——实时时钟(RTC)
实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能,计数频率常为秒。修改计数器的值可以重新设置系统当前的时间和日期。原创 2024-01-26 19:24:05 · 3199 阅读 · 3 评论 -
嵌入式——EXTI(补充)
EXTI (External interrupt/event controller)是外部中断/事件控制器,管理了控制器的20个中断/事件线。每个中断/事件线都对应一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。原创 2024-01-18 10:00:16 · 1015 阅读 · 1 评论 -
嵌入式——模拟/数字转换器(ADC)
模拟/数字转换器它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。(1)分辨率:表示ADC能辦别的最小模拟量,用二进制位数表示,如:8、10、12、16位等。(2)转换时间:表示完成一次A/D转换所需要的时间,转换时间越短,采样率就可以越高。原创 2024-01-30 17:31:37 · 1768 阅读 · 1 评论 -
嵌入式——时钟(RCC)
至于APB2总线上的外设的时钟设置为多少,得等到使用该外设的时候才设置,这里只需粗略设置好APB2的时钟即可,设置为1分频,即PCLK2=HCLK=72MHz。,有些高速,有些低速,如果都用高速时钟,势必造成浪费,并且,同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也就越弱,所以较为复杂的MCU都是采用多时钟源的方法来解决这些问题。,至于AHB总线上的外设的时钟设置为多少,等到使用该外设的时候才设置,这里只需粗略设置好APB的时钟即可,设置为1分频,即HCLK=SYSCLK=72MHz。原创 2024-01-20 01:09:39 · 2152 阅读 · 0 评论 -
嵌入式——窗口看门狗(WWDG)补充
为递减计数器,共7位,其值存在控制寄存器CR的位6:0,即T[6:0],当7位全部为1时是。,如果小于或者等于0x40就失去了窗口的价值,而且也不能大于计数器的值,所以。,当减到一个固定值0x40 时还不喂狗的话,产生复位,这个值叫。时候,会产生看门狗复位,这个值0x40是看门狗能够递减到的。,当由 0x40 变成 0x3F 时,所需的时间就是。配置,可以是 [ 0, 1, 2, 3 ],其中。,是固定的值,不能改变。时,递减计数器再减一次,就产生复位了,那这。,当减到0之前如果没有喂狗的话,产生复位。原创 2024-01-27 17:38:40 · 1677 阅读 · 1 评论 -
嵌入式——模拟/数字转换器(ADC)补充
STM32F103系列有。原创 2024-01-30 18:27:24 · 1446 阅读 · 0 评论 -
嵌入式——直接存储器存取(DMA)补充
方向设置外设为。原创 2024-01-28 21:14:23 · 1081 阅读 · 1 评论 -
嵌入式——定时器(1)配置
基本定时器。原创 2023-12-10 20:12:17 · 1449 阅读 · 1 评论 -
嵌入式——独立看门狗(IWDG)
STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。本质能产生系统复位信号的计数器。原创 2024-01-25 19:37:58 · 1180 阅读 · 0 评论 -
嵌入式——定时器(2)PWM
定时器原创 2023-12-26 02:42:21 · 1720 阅读 · 1 评论 -
嵌入式——直接存储器存取(DMA)
DMA,全称 Direct Memory Access,即直接存储器访问。用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。DMA传输无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场过程,通过硬件为RAM和IO设备开辟一条直接传输数据的通道,使得CPU的效率大大提高。数据搬运工。原创 2024-01-28 19:38:56 · 1726 阅读 · 1 评论 -
嵌入式——窗口看门狗(WWDG)
窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。能产生系统复位信号和提前唤醒中断的计数器。原创 2024-01-27 16:24:56 · 1287 阅读 · 1 评论 -
嵌入式——USART(2)补充
串口通信的数据包由发送设备通过自身的TXD接口传输到接收设备的RXD接口。在串口通信的协议层中,规定了数据包的内容,它由启始位、主体数据、校验位以及停止位组成,通信双方的数据包格式要约定一致才能正常收发数据。原创 2024-01-22 18:38:10 · 1246 阅读 · 0 评论 -
嵌入式入门——串口(1)笔记
RS-232电平:逻辑1:-15V ~ -3V 逻辑0:+3V ~ +15V。TTL电平: 逻辑1:5V 逻辑0:0V。(3)有效数据位:可选5、6、7、8、9个位长,LSB在前,MSB在后。COMS电平: 逻辑1:3.3V 逻辑0:0V。(2)停止位:必须有,可选占0.5、1、1.5、2个位长,保持逻辑。(4)校验位:可选占1个位长,也可以没有该位。(1)启动位:必须占1个位长,保持逻辑。(1)串行通信:数据。(1)同步通信:共用。原创 2023-12-04 19:07:28 · 474 阅读 · 0 评论 -
嵌入式入门——串口(2)USART
位13(UE):USART使能位12(M):配置字长(一般为8个数据位)位10(PCE):检验控制使能(禁止)位5(RXNEIE):接收中断使能位3(TE):发送使能位2(RE):接收使能。原创 2023-12-06 02:18:48 · 1913 阅读 · 1 评论 -
嵌入式入门——串口(3)数据收发流程
的第一个字节0XOD时,计数器将不再增加,等待0X0A的到来,而如果 0X0A 没有来到,则认为这次接收失败,重新开始下一次接收。,并等待该位被其他程序清除,从而开始下一次的接收,而如果迟迟没有收到OX0D,那么在接收数据超过g_usart_rx_buf长度的时候,则会丢弃前面的数据,重新接收。首先判断全局变量 g_usart_rx_sta 的最高位是否为1,如果为1的话,那么代表前一次数据接收已经完成,接着将自定义缓冲区的数据发送到串口。”)后,会返回给串口助手。0X0D 和0X0A。原创 2023-12-06 21:23:47 · 700 阅读 · 1 评论 -
嵌入式——中断(NVIC)补充
NVIC是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。但是各个芯片厂商在设计芯片的时候会对 Cortex-M3 内核里面的NVIC 进行裁剪,把不需要的部分去掉,所以说STM32中的NVIC是 Cortex-M3的NVIC的一个子集。在固件库中,NVIC的结构体定义给每个寄存器都预留了很多位,为的是日后扩展功能。在配置中断的时候一般只用ISER、 ICER和IP这3个寄存器,ISER用来使能中断,ICER 用来清除中断,IP用来设置中断优先级。二、中断优先级。原创 2024-01-17 23:01:47 · 1102 阅读 · 0 评论 -
嵌入式入门——中断 笔记
学了学c语言就开始学嵌入式了,可能有一点自己的理解,但是更多的整理的笔记,如有什么不对的地方,请多多指点。原创 2023-11-30 00:34:43 · 1189 阅读 · 1 评论