推荐阅读最新更新时间:2023-10-12 22:31
野火STM32 Flash&sd卡模拟U盘
在USB库文件mass_mal.c中添加对flash和sd读写的函数,USB库调用这些函数从而实现模拟U盘的功能 1 //mass_mal.c 2 /* Includes ------------------------------------------------------------------*/ 3 #include ..Usersdcardbsp_sdio_sdcard.h 4 #include ..Userspi_flashfatfs_flash_spi.h 5 #include mass_mal.h 6 #include stdio.h 7 /* Private typedef ---------
[单片机]
STM32用STLINK烧写外置FLASH遇到的问题
由于项目需要大量的图片字库还有音频文件,所以外挂了NOR flash和NAND flash,需要用到烧写算法STLDR(就是包含几段在SRAM里面运行的代码),调试的时候遇到了几个问题,都是大意造成的,所以写出来记录一下 首先烧写用到PC端软件是STM32 STLINK Utility,在安装目录下附带了一些常用的flash的烧写算法,但没有我用到的那种,所以只能参考ST-LINK Utility UM手册在…ST-LINK UtilityExternalLoader目录下的工程模板上修改,修改需要用到对FLASH的初始化、读写、擦除函数,这个要提前调试好,填到对应的函数内就可以了,后面由上位机自己调用 问题来了,主要是三
[单片机]
嵌入式stm32学习之路——第一弹(led流水灯工程)
之前没接触过单片机,初次学习感到很迷茫,从初识stm'32到建工程模板再到第一个(流水灯实验),用了两天半的时间。因为C语言基础不是很好,有很多语句都看不懂,费了很大的劲才把led灯点亮。因为模电和数电都还没学,电路图也很难弄懂。 下面是原理图: 点亮led的方法 知道了原理之后,根据方法分析,可制定相应的开发步骤如下: 1)为控制LED灯,知道要使用 GPIO 外设。 2)了解GPIO外设有什么功能,要如何使用。 3)获知GPIO的地址映射,知道它所挂载的总线APB2。 4)了解ST官方库对寄存器的封装。 5)了解时钟树,查看 GPIOx(x= A…F)的时钟来源,即PCLK2。 6)在stm32f10x
[单片机]
关于STM32的I2C硬件DMA实现
网上看到很多说STM32的I2C很难用,但我觉得还是理解上的问题,STM32的I2C确实很复杂,但只要基础牢靠,并没有想象中的那么困难。 那么就先从基础说起,只说关键点,不涉及代码。 首先说I2C这个协议:协议包括START、ACK、NACK、STOP。尽管协议中规定START必须,其他几个非必须,但实际上其他三个仍旧非常重要。 主发从收:主 START - 主发地址 - 从 ACK - (主发数据 - 从 ACK (循环)) - 主 STOP 或 主 START 启动下一次传输 这一过程中,主控SCL线,从只在ACK时控SDA线,其他时刻主控SDA线。 主收从发:主 START - 从发地址 - 主 ACK - (从发数据 -
[单片机]
STM32的重映射功能,以ZET6的TIM3_CH2通道从PA7->PB5为例
还需要先提的是,重映射有的可能只适用于与部分STM32芯片。 TIM3_CH2 默认是接在 PA7,可以通过重映射功能,把 TIM3_CH2映射到 PB5 上 重映射控制是由复用重映射和调试 IO 配置寄存器(AFIO_MAPR) 控制。 TIM3_REMAP 是由 这 2 个位控制的。TIM3_REMAP 重映射控制表如下: 默认条件下,TIM3_REMAP 为 00,是没有重映射的,所以TIM3_CH1~TIM3_CH4 分别是接在 PA6、PA7、PB0 和 PB1 上的。 而我们想让 TIM3_CH2 映射到 PB5 上,则需要设置TIM3_REMAP =10,即部分重映射,这里需要注
[单片机]
stm32端口“重映射” &&串口学习
1.这段代码实现了串口的重映射,即将RFID串口(连接PC的串口)与sim900A的串口进行了重映射! 也就是说将PC发送的数据给RFID的串口,将 RFID的串口接收到的PC数据通过sim900A的串口发送出去。 然后sim900A的串口接收来自服务器的数据,然后返回给RFID的串口,RFID的串口的再将服务器的数据返回给PC 部分程序如下: GPRS_ON(); Start_GPRS(); //AT+CIPSTART= TCP , 60.186.20.162 , 5002 while(1) { if( re_ok) { re_ok=0; Delay_10ms(30);//延时
[单片机]
采用DSP和STM32的双核智能电液伺服控制器
伺服控制系统大部分都采用传统的硬件结构,控制算法比较固定,而且也无法实现不同工况下的高性能控制算法,难以满足现代工业的需求。现阶段迫切需要研制一种智能型、具有高可靠性、控制性能更加优秀的电液伺服系统。基于DSP与STM32的智能型伺服控制器具有软硬件结合程度更加紧密、系统的智能化程度更高、可实现多种控制策略的优势。本系统从实际的需求出发,结合精确数字PID控制算法和Fuzzy控制算法自身的优势,组合成Fuzzy-PID控制算法,根据偏差的大小范围选择合适的控制算法进行调节。
本设计将两款工控芯片—TI公司的浮点型DSP TMS320F28335和ST公司的ARM7升级版STM32F103RET6引入智能电液伺服系统,
[单片机]
设计一个基于STM32和RFID Reader读取RFID卡的系统
在本教程中,我们将设计一个使用 STM32 和 RFID Reader读取 RFID 卡的系统。RFID代表射频识别,它通过使用无线电频率读取信息。RFID 用于许多身份验证系统,如电梯停车系统、自动收费、在医院维护患者信息、自动数据收集等。 所需组件 STM32F103C8(蓝色药丸板) EM-18 RFID阅读器模块 射频识别卡 16x2 液晶显示模块 面包板 连接电线 在将 RFID 与 STM32 连接之前,首先我们将了解 RFID 标签和 RFID 阅读器。 射频识别标签 RFID标签由带有线圈天线的微芯片组成,可以与附近的阅读器进行无线通信。市场上有各种不同形状和尺寸的 RFID 标签。他们中很少有人使用不同的频率
[单片机]