B03-STM32
积累STM32的知识点
sy_lixiang
人要有毅力,否则将一事无成
展开
-
20130408-[转]STM32学习笔记(7):USART串口的使用
原文地址:不详 1. 串口的基本概念在STM32的参考手册中,串口被描述成通用同步异步收发器(USART),它提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互联网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以转载 2013-04-08 21:19:57 · 2067 阅读 · 0 评论 -
20130408-[转]STM32的USART
STM32的USART STM32资料 b) 初始化函数定义:void USART_Configuration(void); //定义串口初始化函数 c) 初始化函数调用:void UART_Configuration(void); //串口初始化函数调用初始化代码:void USART_Configuration(void) //串口初始化函数{/转载 2013-04-08 21:17:15 · 1037 阅读 · 0 评论 -
20130408-[转]STM32的USART发送数据时如何使用TXE和TC标志
在USART的发送端有2个寄存器,一个是程序可以看到的USART_DR寄存器,另一个是程序看不到的移位寄存器,对应USART数据发送有两个标志,一个是TXE=发送数据寄存器空,另一个是TC=发送结束。当USART_DR中的数据传送到移位寄存器后,TXE被设置,此时移位寄存器开始向TX信号线按位传输数据,但因为TDR已经变空,程序可以把下一个要发送的字节(操作USART_DR)写入TDR中,而不转载 2013-04-08 21:14:20 · 2090 阅读 · 0 评论 -
20130408-[转]STM32库函数USART_SendData的缺陷和解决方法
2.1 问题及现象使用USART_SendData()函数非连续发送单个字符是没有问题的;当连续发送字符时(两个字符间没有延时),就会发现发送缓冲区有溢出现象。若发送的数据量很小时,此时串口发送的只是最后一个字符,当发送数据量大时,就会导致发送的数据莫名其妙的丢失。如: for(TxCounter = 0;TxCounter US转载 2013-04-08 21:12:19 · 4561 阅读 · 0 评论 -
20130408-[转]stm32 3.5固件库带sdio版本V4.5.0 bug修改
转帖,原文地址: http://blog.csdn.net/cokewei/article/details/7343915写的很详细1:SD_WaitReadOperation()函数或者SD_WaitWriteOperation()函数进入死循环原因:数据传输错误导致传输中断,无法满足退出等待的判断条件。代码分析:SD_Error SD_WaitRea转载 2013-04-08 21:29:50 · 3252 阅读 · 0 评论 -
20150615-STM32F20x系列CPU晶振起振波形
25M无源晶振,12p电容,IN引脚信号 25M无源晶振,12p电容,OUT引脚信号原创 2015-06-15 14:56:59 · 3617 阅读 · 0 评论 -
[转] IAR contains unknow tools 解决方法
在IAR工程下有这么三个文件用于描述工程,后缀名分别为.eww, .ewp, .ewd: .eww –> IAR EWARM工作区文件,描述工作区中包含那些project; .ewd –> C-SPY调试器项目设置文件; .ewp –> IAR EWARM项目文件,有关项目的配置信息全在里面;所以如果出现以下错误“The project ‘…’ contains the unknow转载 2016-06-07 13:38:30 · 5163 阅读 · 0 评论 -
Timeout while checking target RAM, core does not stop
Timeout while checking target RAM, core does not stop系统:win 10软件:Keil 5.22报错时间:编译过程报错根本原因:建立工程时,器件选择错误。本人遇到该问题的时机 :研究STM32 ISP烧写HEX文件时,无法擦写Flash,Flash Loader Demo提示擦写失败。其实就是此时选择错了芯片类型。以后尝试使用JLin...原创 2019-02-10 21:28:26 · 6666 阅读 · 0 评论 -
20130426-STM32F103 SPI接口9MHz时钟和18Mhz时钟的波形对比
最近工作上的原因使用了STM32F103V8T6这款CPU,用到了SPI接口来读取AD器件AD7685的数据。按该CPU的手册说明,该SPI接口最大的时钟频率为18MHz,即主时钟72MHz的4分频。抓取了两种时钟频率下SPI接口的波形,保留,待以后有时机细研究。 关于时钟的说明: 1.9MHz采32个AD值 2.9MHz采32个AD值中的1个进行放大观察原创 2013-04-26 10:33:52 · 6604 阅读 · 2 评论 -
20120822-[转]单片机实现软件复位(软复位)的方法及讨论
(天堂雨林博客blog.sina.com.cn/acer收集整理)单片机软复位有什么好的方法?如从机收到复位命令(软件命令),程序怎么使机器复位?虽然要使软件始终处于可控状态,最好不要用"复位",因为复位是纯硬件过程,软件是不可控的.但是我们还是要讨论方法,一般流传的方法如下:1、放狗;2、((void(code *)(void))0x0000)();----->使用时建议转载 2012-08-22 10:54:33 · 1889 阅读 · 0 评论 -
20130204-STM32F103ZET基于KEIL环境新建工程笔记
1.在某个目录内新建工程路径,这里我命名为A03-SPORT2.在上述上当内新建两个名为Project和User目录,前者用于存放工程文件,后者存放我们自行编写的文件 3.将从ST官网下载的库文件中的Libraries路径下所有文件复制到A03-SPORT路径内,本笔记所用的版本为V3.5.0 4.此时,A03-SPORT路径内的情况如下 5.将官方库路径内的如下文原创 2013-02-04 15:33:46 · 4281 阅读 · 0 评论 -
20130218-初学STM32遇到的一些问题
1.设置工程时,如果忘记了在C/C++选项卡上设置STM32F10X_HD,USE_STDPEFIPH_DRIVER编译时会报如下的错误Build target 'USART'compiling stm32f10x_it.c.....\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(96): error: #35:原创 2013-02-18 10:24:08 · 13705 阅读 · 0 评论 -
20130415-[转]STM32 GPIO端口的输出速度设置
原文地址:http://bbs.ednchina.com/BLOG_ARTICLE_104445.HTM 稍加编辑。当STM32的GPIO端口设置为输出模式时,有三种速度可以选择:2MHz、10MHz和50MHz,这个速度是指I/O口驱动电路的速度,是用来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。高频的驱动电路,噪声也高,当你不需要高的输出频率时,请选用低频驱动电路,转载 2013-04-15 17:03:41 · 2829 阅读 · 0 评论 -
20130426-[转]分享STM32代码读保护个人解决方案,有需要的请来验证一下!
原文地址:http://www.amobbs.com/thread-5513417-1-1.html稍加编辑。 之前也看到有网友提出代码保护的问题,辛苦写的程序,怎么着也不想被别人拿去用!刚好前一段有个项目完成了,在产品发出去的时候按照老总吩咐,加了代码的读保护!现在就把之前的工作做个总结,以便哪天忘记,可来此查询,也方便网友使用,当然,这个也可能有人发现了,如果你已经知道该方转载 2013-04-26 10:07:11 · 3818 阅读 · 3 评论 -
20130408-[转]STM32 NVIC学习
阅读nvic:系统中断管理。 我的理解——管理系统内部的中断,负责打开和关闭中断。 基础应用1,中断的初始化函数,包括设置中断向量表位置,和开启所需的中断两部分。所有程序中必须的。 用法: void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure;//中断管理恢复默认参数 #ifdef转载 2013-04-08 13:38:16 · 1690 阅读 · 0 评论 -
20130408-在STM32平台上实现printf和scanf函数(带回显)
原文地址:http://hi.baidu.com/jing_0010/item/ea05d215821f16eb9913d65c 首先我们来看这两者之间的区别, Keil专用于嵌入式程序仿真编译书写的平台, 支持C99, 不支持标准输入输出, 不支持文件操作, 带有标准库和各类处理器的固件库. POJ专用于程序测试, 支持C99, 支持标准输入输出, 不支持文件操作, 自带C, C++标准转载 2013-04-08 21:02:06 · 10745 阅读 · 0 评论 -
20130403-[转]One ELF Section per Function
KEI MDK软件中,工程设置有这样的一个选项。选项One ELF Section per Function的主要功能是对冗余函数的优化。通过这个选项,可以在最后生成的二进制文件中将冗余函数排除掉(虽然其所在的文件已经参与了编译链接),以便最大程度地优化最后生成的二进制代码。而该选项实现的机制是将每一个函数作为一个优化的单元,而并非整个文件作为参与优化的单元。选项One ELF Sec转载 2013-04-03 10:04:06 · 1062 阅读 · 0 评论 -
20130403-[转]MDK的优化应用
使用Keil/MDK这么多年了,一直都没有使用它的代码优化功能。总是觉得在容量可以容纳的情况下没有必要。最近在做一个摄像头项目时,总是只能在TFT上显示大约2/3的图像。其余1/3没有显示。当按键时,整个TFT都能显示,那么按照分析,应该是因为代码是速度太慢造成的。但是分析了一下代码实在没有可以更改的地方了。那么是单片机运行速度问题吗? 本代码本来是用IAR编写的,而且在单片机上实转载 2013-04-03 10:02:22 · 888 阅读 · 0 评论 -
20130205-BSP基本知识
bsp是什么?板级支持包(board support package) BSP板级支持包(board support package),是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行与硬件主板。在嵌入式体统软件的组成中,就有BSP。BSP是相对于操作系原创 2013-02-05 09:11:50 · 809 阅读 · 0 评论