自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(15)
  • 资源 (7)
  • 收藏
  • 关注

原创 stm32入门教程——DMA之内存到外设串口DMA

在STM32F407微控制器中,使用UART(通用异步收发器)进行串口通信时,DMA(直接内存访问)可以显著提高数据传输效率,因为它允许在不占用CPU的情况下进行数据的发送和接收。以下是一个基于STM32F407的UART DMA传输的例程,包括初始化和传输过程的详细步骤。特别是在初始化函数中,你需要根据你的系统时钟配置和外设要求进行适当的设置。确保你的STM32F407开发板已经连接到你的电脑,并且你有一个支持UART通信的调试器。// 定义TX和RX的GPIO端口和引脚。// 初始化UART和DMA。

2024-04-02 22:41:17 549 1

原创 stm32入门教程——DAC介绍

然后在`MX_DAC_Init`函数中初始化DAC,设置了触发源为无(即软件触发),启用了输出缓冲器,并选择了12位的分辨率和右对齐模式。在主循环中,我们遍历正弦波数组,并使用`HAL_DAC_SetValue`和`HAL_DAC_Start`函数来输出DAC值。- 在主循环中,使用`HAL_DAC_SetValue()`函数设置DAC输出值,并使用`HAL_DAC_Start()`启动DAC输出。5. **中断配置**(可选):如果需要处理DAC相关的事件(如DMA传输完成),可以配置相应的中断。

2024-04-01 21:03:16 804

原创 stm32入门教程——DMA介绍之memory to memory

4. **设置传输方向、增量模式和数据宽度**:在DMA_CCRx中配置数据传输的方向(是否从外设到内存或相反)、是否在传输后递增地址(增量模式)以及数据的宽度(字节、半字或全字)。1. **设置源地址和目标地址**:在DMA的通道x外设地址寄存器(DMA_CPARx)和通道x内存地址寄存器(DMA_CMARx)中分别设置外设和内存的地址。2. **配置DMA请求**:在STM32CubeMX中,选择DMA2控制器,并创建一个新的DMA请求,选择“MEMTOMEM”作为请求类型。

2024-03-30 08:16:12 581 1

原创 stm32入门教程——ADC采样之轮询模式

2. **多通道输入**:STM32F407拥有多达19个ADC通道,其中16个外部通道和3个内部通道(如VrefInt、Vbat和温度传感器),可以同时监测多个模拟信号。1. **高分辨率**:STM32F407的ADC支持12位、10位、8位和6位的分辨率,能够提供高精度的模拟信号转换。3. **灵活的采样时间配置**:每个通道的采样时间可以独立配置,以适应不同的信号特性和转换精度要求。// 选择ADC通道0。- **初始化配置**:需要配置ADC的分辨率、采样时间、工作模式、触发源等参数。

2024-03-29 18:40:07 515 1

原创 stm32入门教程——GP IO中断介绍

4. **配置NVIC**:在NVIC中设置中断优先级(`NVIC_PriorityGroupConfig`),并启用中断(`NVIC_InitStructure`)。在这个例子中,我们配置了PA0引脚为上升沿触发的中断,并设置了相应的中断服务函数。3. **设置中断触发条件**:通过配置EXTI的中断请求线(如`SYSCFG_EXTILineConfig`)和相关的触发模式(如上升沿、下降沿或双边沿)。6. **清除中断标志**:在中断服务函数的最后,通常需要清除中断标志位,以便能够响应后续的中断事件。

2024-03-28 17:13:42 669

原创 stm32入门教程——定时器timer之pwm

3. **定时器配置**:设置定时器的预分频器(PSC)和自动重装载寄存器(ARR),以确定PWM的频率和周期。- **占空比**:在一个PWM周期内,高电平持续的时间占总周期时间的百分比,通常用百分比表示。2. **GPIO配置**:配置与PWM输出相关的GPIO引脚为复用功能,设置为推挽输出模式。4. **PWM模式配置**:配置定时器的捕获/比较寄存器(CCR),以设置PWM的占空比。// 占空比50%,这里设置为周期的一半。5. **输出使能**:最后,使能定时器的PWM输出功能,并启动定时器。

2024-03-27 18:51:44 721

原创 stm32入门教程——定时器timer之计数器

然后,我们使能了定时器,并在定时器中断服务函数TIM1_IRQHandler中处理定时器的更新中断。了解定时器的基本概念,如计数模式、定时器溢出、PWM 输出等。4. PWM 输出:如果需要生成 PWM(脉冲宽度调制)信号,可以配置定时器的 PWM 模式,并设置 PWM 的周期和占空比。6. 调试与测试:使用调试工具(如示波器、逻辑分析仪等)来观察定时器的输出信号,确保定时器的工作正常。

2024-03-26 20:05:43 795

原创 stm32入门教程——iic通讯

5. **错误标志**:包括主模式下的仲裁丢失、地址/数据传输完成后的应答失败、检测误放的起始位和停止位、禁止时钟延长后出现的上溢/下溢等。2. **I2C初始化**:配置STM32F407的I2C接口,设置正确的时钟速率、地址模式(7位或10位地址)、主从模式等。- **读取数据**:发送起始信号,发送EEPROM的读地址,然后接收数据,最后发送非应答信号(NACK)和停止信号。- **写入数据**:首先发送起始信号,然后发送EEPROM的写地址,接着发送要写入的数据,最后发送停止信号。

2024-03-25 21:51:47 1178

原创 STM32入门教程——CAN驱动经验文档

以下是一个基于STM32F407微控制器的CAN通讯例程,该例程将展示如何使用STM32 HAL库来初始化CAN外设,发送和接收CAN消息。确保你的STM32F407开发板已经连接到CAN转接器,并且CAN_H和CAN_L线已经正确连接到CAN总线上。- 详细说明如何发送CAN数据,包括构建CAN消息、选择适当的缓冲区和发送机制。- 说明如何配置CAN引脚(CAN_RX和CAN_TX)的GPIO设置。- 根据你的CAN总线速度和系统时钟,你可能需要调整CAN的位时间配置。

2024-03-23 19:06:01 579 1

原创 STM32入门教程——驱动SPI Flash的经验分享

**MISO (Master In Slave Out)**: 主设备输入/从设备输出引脚。- **MOSI (Master Out Slave In)**: 主设备输出/从设备输入引脚。- **CS (Chip Select)**: 片选信号引脚,用于启动和结束SPI通信。- **Sector Erase (0x20 - 0x21)**: 扇区擦除。- **Write Disable (0x04)**: 禁止写入操作。- **Write Enable (0x06)**: 使能写入操作。

2024-03-23 17:03:27 610 1

原创 STM32入门教程——串口通讯

STM32入门教程,介绍串口的三种通讯方式,以及如何利用串口使用printf打印日志

2022-12-22 15:19:05 7184

原创 STM32入门教程——从汇编到 C函数的main

stm32汇编程序到C程序的结合,为初学者介绍stm32的运行过程。

2022-12-13 08:12:05 821

原创 STM32入门教程——点亮一个LED

本文为初学者介绍如何使用KEIL MDK点亮stm32开发板中的一个LED。从新建工程到驱动编写。帮忙初学者入门。

2022-12-12 10:13:04 1995

原创 git快速入门教程

git入门教程,供初学者快速上手使用git的基本操作。

2022-12-09 18:06:09 240 1

原创 STM32入门教程——启动代码分析

stm32启动代码分析,cortex m3启动代码分析

2022-12-09 08:06:28 410

matlab读取csv文件例程,读取指定路径下的所有csv文件

matlab读取csv文件例程,读取指定路径下的所有csv文件

2022-11-23

matlab进行数组排序,不用matlab库函数实现数据排序

matlab数组排序,不用matlab库函数实现数据排序

2022-11-23

stm32项目驱动步进电机,利用手机APP通过串口蓝牙与STM32通讯,控制电机

stm32项目实例,实现串口通讯,定时器,控制步进电机等。项目中通过蓝牙串口与APP通讯,通过APP下发命令来控制步进电机的工作模式等。

2022-11-21

串口调试助手,三种调试工具

串口调试助手,三种不同的串口调试助手,个个都很好用,支持波特率自定义,通讯数据保存等

2022-11-21

tft lcd驱动 gd32 C语言 NV3022B

基于gd32f05x开发的NV3022B tft lcd驱动,lcd分辨率80x160

2022-11-17

rtc驱动 stm32 C语言

基于stm32的RTC驱动,可以正确读取年月日时分秒信息,供初学者参考学习。

2022-11-17

FLASH驱动stm32 SPI 驱动FLASH C语言

stm32驱动SPI flash,Flash型号为sst25vf512,驱动连接快速读写,提供给驱动的朋友参考,虽然基于freeRTOS,但是容易移植,只需要替换很少的几句代码就可以了。亲测可用,稳定性也不错。

2022-11-17

充电桩 云快充 软件源码 C语言

根据云快充协议文档实现云快充协议,使用C语言实现充电桩与云快充平台交互,经过实际验证,已经成功接入云快充平台。产品已经指发货,供有需要的人参考。

2022-11-17

F1C100S FreeRTOS例程,真实可用

全志F1C100S FreeRTOS例程,基于KEIL MDK的工程,程序运行后执行FreeRTOS任务,通过串口打印执行的任务。供学习和使用F1C100S的朋友们参考。例程中除了FreeRTOS外,还提供了F1C100S上的外设驱动,包括uart,timer,pwm等等

2022-11-13

Blackfin系列DSP原理与系统设计

Blackfin系列DSP原理与系统设计 主要介绍了采用Blackfin系列DSP开发时所需掌握的知识与技巧,具体内容包括:Blackfin系列芯片的性能、内部结构、外设接口、硬件开发、指令集、开发环境、软件编程与应用实例。Blackfin系列DSP是ADI开发的高性能定点DSP产品,共分为五大系列数十种型号,分别面向不同种类的应用环境。Blackfin 系列DSP的片上系统集成了大部分常见的工业总线与外设接口。Blackfin系列DSP具有强大的处理能力,丰富的外设接口与极低的功耗,使其更易满足各类不同需求。

2011-05-19

nRF24LE1,nRF24L0学习资料

学习无线通信必备资料,讲述nRF24L01,nRF24LE1通信原理

2010-08-11

TQ2440 Lcd程序 ADS工程 显示图片

TQ2440开发板的LCD程序 ADS中建立的工程,可以显示一图片 分辨率为 320 *240

2010-04-22

电路入门资料,跟我学数电模电

一个很适合入门学数电模电的资料 对初学者十分有帮助

2010-03-22

linux内核设计与实现

一本学习linux极好的资料,不敢独享.所以拿来与大家一起看啊

2010-03-11

ARM培训教程 中文版

一个本人见过的,非常好的ARM教程,供初学者使用。

2010-03-11

openjtag作用

很好的资源,与大家一起用。希望大家都能学好啊

2009-11-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除