
STM32相关
文章平均质量分 66
JXDZ
这个作者很懒,什么都没留下…
展开
-
STM32片上Flash内存映射、页面大小、寄存器映射
摘要: 本文以STM32F103RBT6为例介绍了片上Flash(Embedded Flash)若干问题,包括Flash大小(内存映射)、块大小、页面大小、寄存器。这些知识,有利于写Flash驱动。一、怎么看Flash大小1.1 通过型号 型号会印在MCU表面,可以通过观察获得,我的是STM32F103RBT6(以下分析基于这个型号),对照下转载 2016-05-24 09:15:26 · 4502 阅读 · 0 评论 -
stm32 Bootloader设计(YModem协议) (转载)
相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些。下文中的bootload就来实现这样的功能。 前段时间有项目关于Bootload设计。所以就仔细的去了研究了一翻。以前都是用的stm32官方的,没有去深入了解。这次做完了过后,发现官方的版本存在一些问题。比如说YModem传送过程中,完全没有对数据区进行效验,只是核对了下编号,就进行烧写。整个程序完全为阻塞式,浪费了转载 2016-06-16 15:11:46 · 3593 阅读 · 0 评论 -
分析TCP/IP协议栈代码之UDP(STM32平台)
ARP部分IP&ICMP部分UDP部分TCP部分1. UDP介绍 UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 UDP数据报,并组装成一份待发送的IP数据报。这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系。 UDP数据报封装成一份 IP数据报的格式转载 2016-06-07 17:20:32 · 1762 阅读 · 0 评论 -
STM32系列单片机命名规则
示例:STM32F100C6T6BXXX123456789 从上转载 2016-06-01 08:22:21 · 6324 阅读 · 1 评论 -
STM32固件库详解
1.1 基于标准外设库的软件开发1.1.1 STM32标准外设库概述STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函转载 2015-04-23 10:37:36 · 734 阅读 · 0 评论 -
基于stm32的 ucGUI 12864下的移植
ucGUI是纯C写的的,移植需要定义点阵数,颜色数,和画点函数以下是ucGUI 12864下的移植基于ST7920控制的12864液晶用于字符显示很方便的,但网友说用它显示图形并不合适,原因就是它绘图时先要关闭显示,绘完后又要打开,速度会较慢。我没有用过别的液晶,手中只有这一款,摆弄了几天,掌握了一点东西,写出来共享。 首先,我们知道,图形都是由像素点组成的,绘图的基础其实就是画点。转载 2015-04-23 16:17:42 · 3481 阅读 · 1 评论 -
在STM32上移植FreeModbus RTU的一点经验总结
这几天因为工作需要,移植了modbus RTU到STM32来,之前也听说过modbus,但是没有深入了解过,还以为会像usb 那样复杂的,经过这几天的折腾,发现真的太简单了。为了防止过段时间又忘记了怎么移植,在这里把移植过程记录下来,也为了方便初次接触modbus的人。 废话少说,首先去下载源码,我下载的是freemodbus-v1.5.0,解压后如图所示: 在demo文件夹中有转载 2016-01-27 16:22:27 · 33015 阅读 · 12 评论 -
STM32下单只DS18B20的驱动
折腾了一晚上,才把DS18B20的驱动移植到STM32上来。以前在51上使用过单个和多个连接的DS18B20,有现成的程序了,以为很快就能弄好,结果还是被卡住了,下面说下几个关键点吧: 首先是延时的问题,STM32上若用软件延时的话不太好算时间,所以要么用定时器要么用SysTick这个定时器来完成延时的计算。相比之下用SysTick来的简单方便点。 接着是STM32 IO脚的配转载 2016-02-18 16:20:51 · 3620 阅读 · 0 评论 -
经典_STM32_ADC多通道采样的例子
STM32 ADC多通道转换描述:用ADC连续采集11路模拟信号,并由DMA传输到内存。ADC配置为扫描并且连续转换模式,ADC的时钟配置为12MHZ。在每次转换结束后,由DMA循环将转换的数据传输到内存中。ADC可以连续采集N次求平均值。最后通过串口传输出最后转换的结果。程序如下:#i nclude "stm32f10x.h" //这个头文件包括STM32F10x所有外围寄存器、位、转载 2016-03-14 18:52:12 · 11271 阅读 · 1 评论 -
stm32 外部中断的使用(含实例)
中断对于开发嵌入式系统来讲的地位绝对是毋庸置疑的,在C51单片机时代,一共只有5个中断,其中2个外部中断,2个定时/计数器中断和一个串口中断,但是在STM32中,中断数量大大增加,而且中断的设置也更加复杂。今天就将来探讨一下关于STM32中的中断系统。1 基本概念ARM Coetex-M3内核共支持256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置转载 2016-03-17 09:42:10 · 20708 阅读 · 0 评论 -
STM 32 之can 实例+代码解析
#include "sysdef.h" #define MAX_MAIL_NUM 3//CAN总线调试:0=运行 1=自环调试#define CAN_DEBUG 0//CAN总线波特率:0=250kbps,1=500kbps,2=1Mbps#define CAN1_BPS 0 unsigned char can1_addr = 0; unsigned sho转载 2016-03-23 11:16:01 · 2153 阅读 · 0 评论 -
stm32之神州三号开发板 USB DFU 实现过程
stm32之神州三号开发板 USB DFU 实现过程1.官网下载usb源码包2.神舟III号的MCU位f103ze 系列。打开压缩包,直接找到 Device_Firmware_Upgrade 文件包 MDK打开工程。3.选择 stm3210E_EVAL这个选项 ,此时启动文件为 starup_stm32f10x_hd.s.(1)选择器件类型为STM32F103ZE;C/C+原创 2016-05-05 10:43:21 · 4558 阅读 · 0 评论 -
从今天开始,像使用U盘一样,升级STM32
有没有想过,像使用U盘一样升级STM32固件,非常简单,非常方便1: 插入电脑USB接口2: 把升级固件拖到设备盘符3: 升级完成抛弃繁琐的USB DFU,抛弃落后的串口升级,让我们来谈谈U盘升级STM32为什么设计这个BOOT LOADER在电子产品开发过程中,为了满足市场需转载 2016-05-05 11:54:20 · 15054 阅读 · 55 评论 -
STM32 ADC转换时间
STM32F103XX的ADC的采样时钟最快14MHz,最快采样率1MHz。ADC时钟:这个ADC时钟是从哪来的呢。我们看下面这个STM32的时钟结构图: 我们大多使用STM32的最快PCLK2系统时钟72MHz。ADCCLK的时钟由72MHz的6分频能瞒住14MHz以下的要求 为12MHz。RCC_ADCCLKConfig(RCC_P转载 2016-05-17 13:10:50 · 10448 阅读 · 1 评论 -
STM32的时钟系统RCC详细整理
一、综述:1、时钟源在 STM32 中,一共有 5 个时钟源,分别是 HSI 、 HSE 、 LSI 、 LSE 、 PLL 。 ①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz ; ②HSE 是高速外部时钟,可接石英 / 陶瓷谐振器,或者接外部时钟源,频率范围是 4MHz – 16MHz ; ③LSI 是低速内部时钟, RC 振荡器,转载 2016-05-17 14:19:49 · 2702 阅读 · 0 评论 -
整理STM32GPIO输出速率问题
GPIO 引脚输出速度有:GPIO_Speed_2MHz (10MHz, 50MHz) 官方一点的解释: GPIO口的驱动电路响应速度,不是输出信号的速度。输出信号的速度与程序有关,通过选择速度来选择不同的驱动电路,降低功耗控制噪声。又称输出驱动电路的响应速度:(芯片内部在I/O口的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路,通过选择速度来原创 2016-05-19 08:51:55 · 12141 阅读 · 0 评论 -
完美实现STM32单总线挂多个DS18B20
完美实现STM32单总线挂多个DS18B20一般常见的STM32的关于DS18B20的例程都是检测一个传感器,代码一般都是跳过ROM检测,直接获取温度值。这种写法并不适用于单总线上挂载多个DS18B20的情况,Sandeepin的这个代码就是针对这种情况完善的单总线挂多个DS18B20检测,实现获取每个DS18B20的ID和温度。 主要的DS18B20时序代码没变,增加了搜索ROM函数,获取温度...转载 2018-03-12 15:56:52 · 8733 阅读 · 6 评论