STM32
文章平均质量分 68
寒冷的海王星
这个作者很懒,什么都没留下…
展开
-
miniSTM32开发板的一键下载电路
首先,你要了解STM32的几种启动模式. B0接GND,B1接GND.那就是正常的启动模式,从flash加载代码. 而B0接V3.3,B1接GND.则是ISP模式,也就是串口更新代码. 其次,你要了解STM32 ISP下载代码的过程. 首先B0接V3.3,然后复位STM32.STM32就会加载ISP代码(固化存储在内部),从而进入ISP模式.此时便可以通过串转载 2015-06-18 23:11:31 · 2137 阅读 · 1 评论 -
STM32 ST-LINK Utility无法下载的处理方法
STM32 ST-LINK Utility无法下载的处理方法 现象:提示family: Unknown device Read out protection is activated. Could not disable Read Out Protection! 分析:由于STM内部提供了数据保护,有读出保护和写保护。禁止读出保护起作转载 2015-07-16 12:29:27 · 13385 阅读 · 1 评论 -
SYSTICK配置
uint16_t TimingDelay=0; /** * @brief 启动系统滴答定时器 SysTick * @param 无 * @retval 无 */ void SysTick_Init(void) {/* ticks 常取以下值 *//* SystemFrequency / 1000 1ms 中断一次 * SystemFrequency原创 2015-08-15 13:56:05 · 809 阅读 · 0 评论 -
定时器操作步骤
void NVIC_Config(void){NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);/* Enable the TIM3 global Interrupt */ NVIC_InitStructure.NVIC_IRQChannel = TIM4_原创 2015-08-15 13:03:53 · 1291 阅读 · 0 评论 -
GPIO 最简 操作步骤
GPIO 最简 操作步骤 (2013-03-23 19:36:02)分类: STM32需用到的".c"库函数为 stm32f10x_gpio.c 和stm32f10x_rcc.c 1. 启动相应Port x的RCC(复位始终控制) RCC_APB2PeriphClockCmd(RCC_APB2Perip转载 2015-08-15 11:08:00 · 1893 阅读 · 0 评论 -
QNX驱动开发——SD卡SD模式开发实录
和大多数朋友一样以前只用过SD卡的SPI模式,因为这种模式简单,无需专门的控制器,在大多数单片机上都可以实现,且无需CRC校验,控制起来也比较方便。而SD模式可以实现4条数据线同时传输,在速度上,比SPI模式有很大优势,所以这次项目选择了SD模式,使用处理器自带的SDHC控制器控制。 其实硬件开发基本要搞清楚三点才能少走弯路,一是清楚被控硬件的驱动流程,二是要熟悉处理器控制器转载 2015-09-03 20:29:00 · 1261 阅读 · 0 评论 -
TFTLCD的图片以及汉字字符显示说明
做技术支持,有很多初学者不知道TFTLCD的汉字,字符以及图片的显示,以及汉字的字体大小怎么调整。在这里特别的说明一下。首先要知道不管是汉字、字符或者图片都需要点阵数据,才能在TFTLCD上显示。字符和汉字是的点阵数据是一位代表一个点的数据,其实也就是0或者1。取模后的点阵数据是1的像素点,需要显示画笔颜色,也就是点亮,数据为0的像素点,则显示背景颜色就可以了。这样颜色的对比就能够显示出汉字或转载 2015-09-23 22:46:57 · 12763 阅读 · 2 评论 -
STM32启动模式及API
我们玩ARM9,一般都是在内存里调试程序,速度飞快。STM32下也可以这样,虽说现在的flash寿命已经很长了,但flash中调试烧录程序还是一个很慢的过程,有时候程序上一个小小的改动要花上几倍的时间下载代码,这确实是不能忍受的。 我们也可以在开发STM32时,在内存中调试程序。 {STM32这颗Cortex-M3控制器,与其他许多ARM一样,提供了BOOT0和BOOT1两个管脚用转载 2016-04-12 11:04:06 · 1590 阅读 · 0 评论 -
Bit、Byte、KB、MB(M)、GB(G)关系
STM32字(word) 32位半字(half word) 16位字节(byte) 8位位(bit)Bit、Byte、KB、MB(M)、GB(G)KB,是计算机中表储存容量大小的单位,用中文表示就是“千字节” 。它不是最小的计算机容量单位,在它下面还有Byte就是B也就是“字节” 1GB=1024MB转载 2016-04-12 14:51:39 · 10512 阅读 · 0 评论 -
STM32片上FLASH内存映射、页面大小、寄存器映射
本文以STM32F103RBT6为例介绍了片上Flash(Embedded Flash)若干问题,包括Flash大小(内存映射)、块大小、页面大小、寄存器。这些知识,有利于写Flash驱动。一、怎么看Flash大小1.1 通过型号 型号会印在MCU表面,可以通过观察获得,我的是STM32F103C8T6(以下分析基于这个型号),对照下图的STM32产品命名,可知STM转载 2016-04-12 14:57:10 · 11643 阅读 · 0 评论 -
stm32内存空间分配学习
stm32内存空间分配学习 如图是一张stm32的内存映射图,其中代码区是从0x0800 0000开始的,他的结束地址是0x0800 0000加上实际芯片的flash大小,他的ram的起始地址是0x2000 0000,然后结束地址依然是加上芯片实际的ram大小。转载 2016-04-12 14:57:36 · 2716 阅读 · 0 评论 -
stm32后生成编译文件大小探索
一般在stm32工程使用keil编译之后,keil的build output栏目下面会出现如图所示的输出信息,其中会显示code 大小 RO-data、RW-data 、ZI-data的大小。一般别人不怎么会在意这个的大小。出于好奇我百度了下网上关于这些段的介绍,援引自http://mcuos.com/thread-2843-1-1.html,上面的介绍是这样说的:ARM程序的组成转载 2016-04-12 14:58:47 · 764 阅读 · 0 评论 -
stm32存储结构& 存储器映射(整理)
以下转自:http://blog.sina.com.cn/s/blog_6a31d1060100ua9v.html 1 STM32系统结构 要想深刻理解STM32的存储器,需要首先知道STM32的系统结构。如Figure 1,是STM32系统结构框图。根据STM32 Reference manual (RM0008)中的描述,如图:转载 2016-04-12 15:07:53 · 4042 阅读 · 1 评论 -
GPIO口 取反
void GPIO_PinReverse(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin){ /* Check the parameters */ assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); assert_param(IS_GPIO_PIN(GPIO_Pin)); GPIOx->ODR ^=转载 2016-03-29 12:34:37 · 6621 阅读 · 0 评论 -
关于STM32外接12MHz晶振的处理办法
http://www.amobbs.com/thread-4478412-1-1.html(出处: amoBBS 阿莫电子论坛)由于STM32F10x库官方采用的是默认的外接8MHz晶振,因此造成很多用户也采用了8MHz的晶振,但是,8MHz的晶振不是必须的,其他频点的晶振也是可行的,只需要在库中做相应的修改就行。 在论坛上看到很多用户反映,使用外接12MHz的晶振,会造转载 2016-04-21 16:26:15 · 1374 阅读 · 0 评论 -
STM32使用外部16MHZ晶振总结
做小封装产品设计的朋友或许知道3225-4PIN的晶振,为何8MHZ晶振批量价格要到2元一片,而16MHZ晶振只需要0.4元甚至更少。究其原因是因为3225封装的晶振目前全球最低频率一般为8MHZ,而国内8MHZ达不到精度指标,所以市场上的8MHZ晶振一般为进口晶振,因此成本被垄断。 图1 3225封装晶振 STM32单片机学习者一开始用的晶振一般是转载 2016-04-21 16:28:52 · 8252 阅读 · 0 评论 -
关于外部时钟晶振频率选择
芯片的主晶振频率范围一般来说在数据手册(Datasheet)和技术参考手册(Technical Reference Manual)中都有介绍。 你提到的时钟先分频再倍频,这个需要深入到STM32的内部去一探究竟了,在其技术参考手册的第7.2节Clocks的一开始有一个表格,时钟树(Figure 8. Clock tree),它完全地列出来STM32这个芯片内部各个模块的时钟来源以及相关转载 2016-04-21 16:32:51 · 9794 阅读 · 0 评论 -
STM32 读保护功能和清除读保护功能设置【转】
1、STM32对内部Flash的保护措施 所有STM32的芯片都提供对Flash的保护,防止对Flash的非法访问 - 写保护和读保护。 1)、读保护即大家通常说的“加密”,是作用于整个Flash存储区域。一旦设置了Flash的读保护,内置的Flash存储区只能通过程序的正常执行才能读出,而不能通过下述任何一种方式读出:通过调试器(JTAG或SWD);从RAM中启转载 2015-07-16 12:12:37 · 11750 阅读 · 0 评论 -
STM32编程相关笔记。
1. stm32f10x_conf.h中包含了所有外设的头文件,因此任意源文件只要包含了stm32f10x.h,就可以在源文件调用任意外设的函数。若有外设为使用到,在stm32f10x_conf.h注释相应部分,项目编译时就不会在编译去掉的外设。转载 2015-06-23 22:04:24 · 904 阅读 · 0 评论 -
不同晶振配置STM32 波特率
一般来说,stm32都是用标配的晶振,比如8MHz. 但是,如果用别的晶振,比如13.56M的晶振,那串口接收还正常吗?根据试验结果,很可能会飞码。比如说用串口助手发送的是0x35,但是在串口接收中断里面就会得到别的值,即上位机发送的数据和板子接收的数据不一致。通过查资料,解决办法如下:修改文件stm32f10x.h,把#define HSE_VALUE转载 2015-06-23 10:14:56 · 1991 阅读 · 0 评论 -
关于 const 用法说明
http://www.openedv.com/posts/list/6536.htmconst u8 table_week[2]={0,1,2};u8 const table_week[2]={0,1,2};这有什么区别?在这里是没什么区别的 一般人喜欢写 const u8,但是似乎 u8 const 更符合标准。 但是 u8 const * p; 和转载 2015-06-24 09:36:04 · 2509 阅读 · 0 评论 -
stm32的boot0和boot1
STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的Flash。2)SRAM = 芯片内置的RAM区,就是内存啦。3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 在每个STM32的芯转载 2015-06-23 09:12:16 · 1451 阅读 · 0 评论 -
stm32f10x_conf.h 与 stm32f10x.h
新版的固件库V3.0以上 main等源文件中不再直接包含stm32f10x_conf.h,而是stm32f10x.h,stm32f10x.h则定义了启动设置,以及所有寄存器宏定义,此文件中需要注意的有:1、device选择#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F转载 2015-06-25 22:31:30 · 1231 阅读 · 0 评论 -
JTAG的SWD接线方式
JTAG引脚示意图:一、SWD 和传统的调试方式区别1. SWD 模式比 JTAG 在高速模式下面更加可靠2. GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚3. 在板子的体积有限的时候推荐使用 SWD 模式二、仿真器对 SWD 模式支持情况1. 市面上的常用仿真器对 SWD 模转载 2015-06-11 10:07:27 · 6374 阅读 · 0 评论 -
STlink V2 烧录器使用教学 【STM32篇】
STlink V2 是一款支持STM32/STM8 烧录的常规工具。本帖主要讲解STM32 的烧录过程。STM32有2种烧录接口,分别为古老的Jtag接口和目前最常规的SWD接口。由于SWD只需要4条线就能烧录,目前STM32硬件工程师用SWD取代JTAG接口已经成为大势所趋。Stlink v2 支持Jtag和SWD 2种接口,ST原厂设计产品考虑的就是通杀!下面开始教程。转载 2015-06-11 09:53:29 · 58005 阅读 · 7 评论 -
第十八章 TFTLCD显示实验
第十八章 TFTLCD显示实验上一章我们介绍了OLED模块及其显示,但是该模块只能显示单色/双色,不能显示彩色,而且尺寸也较小。本章我们将介绍ALIENTEK 2.8寸TFT LCD模块,该模块采用TFTLCD面板,可以显示16位色的真彩图片。在本章中,我们将使用战舰STM32开发板上的LCD接口,来点亮TFTLCD,并实现ASCII字符和彩色的显示等功能,并在串口打印LCD控制器ID,同时在转载 2015-06-11 16:58:56 · 26078 阅读 · 0 评论 -
TFTLCD的图片以及汉字字符显示说明
有很多初学者不知道TFTLCD的汉字,字符以及图片的显示,以及汉字的字体大小怎么调整。在这里特别的说明一下。首先要知道不管是汉字、字符或者图片都需要点阵数据,才能在TFTLCD上显示。字符和汉字是的点阵数据是一位代表一个点的数据,其实也就是0或者1。取模后的点阵数据是1的像素点,需要显示画笔颜色,也就是点亮,数据为0的像素点,则显示背景颜色就可以了。这样颜色的对比就能够显示出汉字或者字符。而图转载 2015-06-11 16:39:02 · 4091 阅读 · 0 评论 -
stm32库函数学习篇---NVIC与外部中断
实现功能:外部中断线0(PA0)与线15(PA15)分别连接到两个按钮,一个按钮用于产生上升沿,另一个用于产生下降沿,两个中断函数里均对PA8口连接的led灯取反,同时PD2连接的led灯随意延时取反指示程序运行。这次我用了官方提供的例程来构建自己的工程,这样可以省下不少时间,而且减少了出错率,调试起来容易多了。 首先是stm32中断与外部中断的概念。ARM Coe转载 2015-06-13 14:34:32 · 3260 阅读 · 0 评论 -
STM32的NVIC理解
STM32有43个channel的settable的中断源;AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先级的4 bits。这4个bits用于分配preemption优先级和sub优先级,在STM32的固件库中定义如下#define NVIC_PriorityGroup_0 ((u32)0x700)#define转载 2015-06-13 14:55:04 · 553 阅读 · 0 评论 -
STM32固件库详解
emouse原创文章,转载请注明出处http://www.cnblogs.com/emouse/ 应部分网友要求,最新加入固件库以及开发环境使用入门视频教程,同时提供例程模板,个人录制,欢迎指正。下载地址:http://dl.dbank.com/c0w0ehqynd2013.3补充在线视频教程 1.1 基于标准外设库的软件开发1.1.1 STM32标准外设库转载 2015-07-10 21:22:43 · 1022 阅读 · 0 评论 -
怎么对高八位或低八位写值而不影响其它位,还有怎样单独读取高八位或低八位的值
((u8*)(&GPIOB->ODR))[0] = 0xaa;写低八位 g_io_tempvalue = ((u8*)(&GPIOB->ODR))[1];读高八位=============================================写高八位 GPIOB->CRH &= 0X00000000; GPIOB->CRH转载 2015-06-19 17:07:06 · 9083 阅读 · 0 评论 -
stm32通用定时器
STM32的定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。时钟源问题:名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在APB1总线上。其中TIM1&TIM8称为高级控制定时器(advanced control timer).他们所在的APB2总线也比APB1总线要好转载 2015-07-10 21:46:21 · 532 阅读 · 0 评论 -
STM32-通用定时器基本定时功能
跟着项目走很多东西学的都都点混乱,基本上是用什么看什么,也没有个基本的章法,今天用了定时器,看到个说的比较不错的,转载如下:原文地址:http://blog.sina.com.cn/s/blog_49cb42490100s6ud.html转载 2015-07-10 21:45:31 · 737 阅读 · 0 评论 -
STM32的IO口的8种配置
1 STM32的输入输出管脚有下面8种可能的配置:(4输入+2输出+2复用输出)① 浮空输入_IN_FLOATING② 带上拉输入_IPU③ 带下拉输入_IPD④ 模拟输入_AIN⑤ 开漏输出_OUT_OD⑥ 推挽输出_OUT_PP⑦ 复用功能的推挽输出_AF_PP⑧ 复用功能的开漏输出_AF_OD1.1 I/O口的输出模式下转载 2015-06-12 22:13:26 · 4373 阅读 · 0 评论 -
Cortex系列M0-4简单对比
最近搞了块ST的Cortex-M4处理器,然后下了本文档。分享一下。针对目前进入大众视野的M0、M3、M4做了如下简单对比,内容来自ARM等官网,这里仅仅是整理了下,看起来更直观点,呵呵。Cortex-M 系列针对成本和功耗敏感的 MCU 和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化。.一、比较 Co转载 2015-07-15 13:02:50 · 1228 阅读 · 0 评论 -
stm32串口中断收发数据环形缓冲区的设计
[cpp] view plain copy /******************************************************************************* * Function Name : USART2_IRQHandler * Description : This function handles转载 2016-09-03 20:23:16 · 3011 阅读 · 0 评论