随笔分类 -  STM32相关

摘要:完美实现STM32单总线挂多个DS18B20 一般常见的STM32的关于DS18B20的例程都是检测一个传感器,代码一般都是跳过ROM检测,直接获取温度值。这种写法并不适用于单总线上挂载多个DS18B20的情况,Sandeepin的这个代码就是针对这种情况完善的单总线挂多个DS18B20检测,实现获 阅读全文
posted @ 2018-03-12 15:56 SuperThinker 阅读(198) 评论(0) 推荐(0)
摘要:相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些。下文中的bootload就来实现这样的功能。 前段时间有项目关于Bootload设计。所以就仔细的去了研究了一翻。以前都是用的stm32官方的,没有去深入了解。这次做完了过后,发现官方的版本存在一些问题。比如说YModem传送过程中,完全 阅读全文
posted @ 2016-06-16 15:11 SuperThinker 阅读(39) 评论(0) 推荐(0)
摘要:ARP部分 IP&ICMP部分 UDP部分 TCP部分 1. UDP介绍 UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 UDP数据报,并组装成一份待发送的IP数据报。这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系。 阅读全文
posted @ 2016-06-07 17:20 SuperThinker 阅读(56) 评论(0) 推荐(0)
摘要:示例: STM32 F 100 C 6 T 6 B XXX 1 2 3 4 5 6 7 8 9 从上面的料号可以看出以下信息: ST品牌ARM Cortex-Mx系列内核32位超值型MCU,LQFP -48封装 闪存容量32KB 温度范围-40℃-85℃; 1.产品系列: STM32代表ST品牌Co 阅读全文
posted @ 2016-06-01 08:22 SuperThinker 阅读(62) 评论(0) 推荐(0)
摘要:摘要: 本文以STM32F103RBT6为例介绍了片上Flash(Embedded Flash)若干问题,包括Flash大小(内存映射)、块大小、页面大小、寄存器。这些知识,有利于写Flash驱动。 一、怎么看Flash大小 1.1 通过型号 型号会印在MCU表面,可以通过观察获得,我的是STM32 阅读全文
posted @ 2016-05-24 09:15 SuperThinker 阅读(376) 评论(0) 推荐(0)
摘要:GPIO 引脚输出速度有:GPIO_Speed_2MHz (10MHz, 50MHz) 官方一点的解释: GPIO口的驱动电路响应速度,不是输出信号的速度。输出信号的速度与程序有关,通过选择速度来选择不同的驱动电路,降低功耗控制噪声。 又称输出驱动电路的响应速度:(芯片内部在I/O口的输出部分安排了 阅读全文
posted @ 2016-05-19 08:51 SuperThinker 阅读(445) 评论(0) 推荐(0)
摘要:一、综述: 1、时钟源 在 STM32 中,一共有 5 个时钟源,分别是 HSI 、 HSE 、 LSI 、 LSE 、 PLL 。 ①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz ; ②HSE 是高速外部时钟,可接石英 / 陶瓷谐振器,或者接外部时钟源,频率范围是 4MHz – 16M 阅读全文
posted @ 2016-05-17 14:19 SuperThinker 阅读(147) 评论(0) 推荐(0)
摘要:STM32F103XX的ADC的采样时钟最快14MHz,最快采样率1MHz。 ADC时钟: 这个ADC时钟是从哪来的呢。我们看下面这个STM32的时钟结构图: 我们大多使用STM32的最快PCLK2系统时钟72MHz。 ADCCLK的时钟由72MHz的6分频能瞒住14MHz以下的要求 为12MHz。 阅读全文
posted @ 2016-05-17 13:10 SuperThinker 阅读(144) 评论(0) 推荐(0)
摘要:有没有想过,像使用U盘一样升级STM32固件,非常简单,非常方便 1: 插入电脑USB接口 2: 把升级固件拖到设备盘符 3: 升级完成 抛弃繁琐的USB DFU,抛弃落后的串口升级,让我们来谈谈U盘升级STM32 为什么设计这个BOOT LOADER 在电子产品开发过程中,为了满足市场需要,经常是 阅读全文
posted @ 2016-05-05 11:54 SuperThinker 阅读(859) 评论(0) 推荐(0)
摘要:stm32之神州三号开发板 USB DFU 实现过程 1.官网下载usb源码包 2.神舟III号的MCU位f103ze 系列。打开压缩包,直接找到 Device_Firmware_Upgrade 文件包 MDK打开工程。 3.选择 stm3210E_EVAL这个选项 ,此时启动文件为 starup_ 阅读全文
posted @ 2016-05-05 10:43 SuperThinker 阅读(40) 评论(0) 推荐(0)
摘要:#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 unsigne 阅读全文
posted @ 2016-03-23 11:16 SuperThinker 阅读(234) 评论(0) 推荐(0)
摘要:中断对于开发嵌入式系统来讲的地位绝对是毋庸置疑的,在C51单片机时代,一共只有5个中断,其中2个外部中断,2个定时/计数器中断和一个串口中断,但是在STM32中,中断数量大大增加,而且中断的设置也更加复杂。今天就将来探讨一下关于STM32中的中断系统。 1 基本概念 ARM Coetex-M3内核共 阅读全文
posted @ 2016-03-17 09:42 SuperThinker 阅读(994) 评论(0) 推荐(0)
摘要:STM32 ADC多通道转换 描述:用ADC连续采集11路模拟信号,并由DMA传输到内存。ADC配置为扫描并且连续转换模式,ADC的时钟配置为12MHZ。在每次转换结束后,由DMA循环将转换的数据传输到内存中。ADC可以连续采集N次求平均值。最后通过串口传输出最后转换的结果。 程序如下: #i nc 阅读全文
posted @ 2016-03-14 18:52 SuperThinker 阅读(82) 评论(0) 推荐(0)
摘要:折腾了一晚上,才把DS18B20的驱动移植到STM32上来。以前在51上使用过单个和多个连接的DS18B20,有现成的程序了,以为很快就能弄好,结果还是被卡住了,下面说下几个关键点吧: 首先是延时的问题,STM32上若用软件延时的话不太好算时间,所以要么用定时器要么用SysTick这个定时器来完成延 阅读全文
posted @ 2016-02-18 16:20 SuperThinker 阅读(64) 评论(0) 推荐(0)
摘要:这几天因为工作需要,移植了modbus RTU到STM32来,之前也听说过modbus,但是没有深入了解过,还以为会像usb 那样复杂的,经过这几天的折腾,发现真的太简单了。为了防止过段时间又忘记了怎么移植,在这里把移植过程记录下来,也为了方便初次接触modbus的人。 废话少说,首先去下载源码,我 阅读全文
posted @ 2016-01-27 16:22 SuperThinker 阅读(142) 评论(0) 推荐(0)
摘要:ucGUI是纯C写的的,移植需要定义点阵数,颜色数,和画点函数 以下是ucGUI 12864下的移植 基于ST7920控制的12864液晶用于字符显示很方便的,但网友说用它显示图形并不合适,原因就是它绘图时先要关闭显示,绘完后又要打开,速度会较慢。我没有用过别的液晶,手中只有这一款,摆弄了几天,掌握 阅读全文
posted @ 2015-04-23 16:17 SuperThinker 阅读(41) 评论(0) 推荐(0)
摘要:1.1 基于标准外设库的软件开发 1.1.1 STM32标准外设库概述 STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通 阅读全文
posted @ 2015-04-23 10:37 SuperThinker 阅读(324) 评论(0) 推荐(0)