
STM32
zn2016
不积跬步,无以至千里。
展开
-
MDK中STM32使用Printf函数详细解析
在用MDK调试STM32板子串口时,为了方便串口调试,调用了printf()函数,用Keil仿真是,串口不能正确的输出,软件仿真时,总是卡在那 里。有点纳闷,然后调用USART_SendData()函数,发现串口可以接收到正确的数据,证明串口配置没有问题,问题应该是出在printf()函 数上,参照ST公司的printf例子也不能在串口输出数据。由此可知应该是软件配置的原因。后面,百度,再AVR论转载 2017-12-08 21:21:28 · 3588 阅读 · 0 评论 -
CRC16校验
示例:原创 2018-03-16 22:23:05 · 343 阅读 · 0 评论 -
ADC扫描模式配置
1、采用ADC的扫描模式连续扫描8路ADC,通常需配合DMA使用。2、ADC主频时钟最好不要超过14M,否则会采集不准。原创 2018-03-16 21:56:28 · 4646 阅读 · 0 评论 -
宋老师IIC读写方法
/* E2读取函数,buf-数据接收指针,addr-E2中的起始地址,len-读取长度*/void E2Read(unsigned char *buf, unsigned char addr, unsigned char len){ do { //用寻址操作查询当前是否可以进行读写操作 I2CStart(); if (I...原创 2018-03-02 11:29:01 · 2075 阅读 · 0 评论 -
DMA+DAC+TIMER输出正弦波 自己验证
#define PI 3.1415u16 DAC_Channel1WaveValue[256]; // 用函数封装/**********************************************************// 函数名称: void Sine_WaveData(u16 cycle ,u16 *D)// 函数功能:正弦波形数据产生*******************...原创 2018-03-09 10:58:22 · 5455 阅读 · 3 评论 -
STM32 PWM模式
PWM模式(脉冲宽度调制):TIMx_ARR确定频率、TIMx_CCRx确定占空比 1. 使能定时器3和相关IO口时钟。 使能定时器3时钟:RCC_APB1PeriphClockCmd(); 使能GPIOB时钟:RCC_APB2PeriphClockCmd();2. 初始化IO口为复用功能输出。函数:GPIO_Init(); GPIO_InitStru...原创 2018-02-28 20:07:18 · 2454 阅读 · 0 评论 -
STM32 使用DMA+DAC+TIMER输出正弦波
来自博客:http://www.cnblogs.com/zhoubatuo/p/6123217.html之前已经简单论述过,根据我个人菜鸟的了解与认识,对之前的知识进行整理回顾:DMA:我的理解就是一个通道,或者是一座桥梁。在静态内存到静态内存,或者外设到静态内存间的一个通讯的通道。建立这个通道的好处是:可以抛开CPU,不占用CPU的资源,直接使用这块内存的内容,速度也会加快。DAC:STM32F...转载 2018-03-08 09:57:16 · 15110 阅读 · 7 评论 -
程序中常用的延时等待处理方式
// 通过串口给蓝牙给名字void BT_Name_Read(void) // 读取蓝牙的名字{ Uart_Send_Data("AT+NAME\r\n", 9); // 发送AT指令 BT_CheckTime(BT_NAME_READ); // 检测发送的AT指令返回命令状态及超时检测}void BT_CheckTime(unsigned char BT_ATSet){ ...原创 2018-02-27 19:04:41 · 1301 阅读 · 0 评论 -
STM32 NVIC中断优先级:抢占优先级&响应优先级区别
首先,对STM32中断进行分组,组0~4。同时,对每个中断设置一个抢占优先级和一个响应优先级值。分组配置是在寄存器SCB->AIRCR中配置:抢占优先级 & 响应优先级区别:1. 高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。2. 抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断。3. 抢占优先级相同的中断,当两个中断同时发生的情况下,哪个响应优先级高,哪...原创 2018-02-26 19:05:36 · 6064 阅读 · 0 评论 -
Systick定时器
声明:内容来自正点原子PPTSystick定时器就是系统滴答定时器,一个24位的倒计数定时器,计到0时,将从RELOAD寄存器中自动重装载定时初值。只有不把它在SysTick控制及状态寄存器中的使能位清楚,就永不停息,即使在睡眠模式下也能工作。4个Systick寄存器: CTRL SysTick 控制和状态寄存器 LOAD SysTick 自动重装载除值寄存器 -...原创 2018-03-17 10:47:15 · 2056 阅读 · 0 评论 -
OLED原理、时序和操作+自己源码程序
转载博客:http://blog.youkuaiyun.com/abap_brave/article/details/53022540一,OLED简介OLED,即有机发光二极管,采用非常薄的有机材料图层和玻璃基板制成 当有电流通过时,有机材料会发光,OLED屏幕可视角度大,节省电能优点:分辨率高,自发光,不需背光源,对比度高,厚度薄,视角广,反应速度快,温度范围广,制造及制程简单缺点:价格贵,尺寸难以大型化(...转载 2018-03-11 18:15:27 · 23314 阅读 · 0 评论 -
STM32 时钟输出MCO功能
一、数据手册:使用步骤:1、开时钟输出时钟控制;RCC_MCOConfig(RCC_MCO_SYSCLK); // 实际是对RCC_CFGR寄存器的24-26位配置。2、配置时钟输出管脚PA8为复用推挽输出 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MH...原创 2018-04-07 09:59:03 · 15415 阅读 · 0 评论 -
UART
// 参考博客https://blog.youkuaiyun.com/zh_666888/article/details/79916130原创 2018-03-31 11:05:45 · 1379 阅读 · 0 评论 -
STM32之ADC
STM32F103XX的ADC的采样时钟最快14MHz,最快采样率为1MHz。对于有ADC转换时间计算有如下公式:TCONV=采样时间+12.5对于本公式:其中12.5是固定数(可以直接用,12.5是采集12位AD时间是固定的周期),而采样时间是由ADC初始化配置语句中ADC_RegularChannelConfig(ADC1, ADC_Channel_11, 1, ADC_SampleTime_...转载 2018-03-13 15:31:00 · 1654 阅读 · 0 评论 -
STM32中GPIO的8种工作模式
有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入的区别转载自:http://bbs.ednchina.com/BLOG_ARTICLE_2082651.HTM 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入(3)G...转载 2018-03-13 13:44:28 · 506 阅读 · 0 评论 -
GPIO初始化之PB3/PB4/PA13/PA14/PA15引脚的复用
转载来自:http://blog.youkuaiyun.com/q759040024/article/details/234684691.为什么要复用PB3/PB4/PA13/PA14/PA15 在mcu复位的时候这几个引脚被作为jtag的功能。当我们要使用这些引脚作为普通的I/O时必须进行引脚的功能复用。2.PB3/PB4/PA13/PA14/PA15引脚默认功能参照 PB3-------------...转载 2018-03-13 10:27:25 · 2020 阅读 · 1 评论 -
IAR软件仿真调试
https://wenku.baidu.com/view/34eaa6b17e21af45b207a882.html原创 2018-03-05 15:33:12 · 15216 阅读 · 0 评论 -
STM32 时钟RCC相关配置参考stm32f10x_rcc.h
1. 时钟使能配置:RCC_LSEConfig()、RCC_HSEConfig()、RCC_HSICmd()、RCC_LSICmd()、RCC_PLLCmd()......2. 时钟源相关配置:RCC_PLLConfig()、RCC_SYSCLKConfig()、RCC_RTCCLKConf().....3. 分频系数选择配置:RCC_HCLKConfig()、RCC_PCLK1Config()、...原创 2018-02-25 20:48:47 · 2047 阅读 · 0 评论 -
IAR __no_init 问答
extern volatile BYTE sppRxStatus;extern volatile BYTE sppTxStatus;__no_init SPP_RX_STRUCT rxData @ "PM0_XDATA";__no_init SPP_TX_STRUCT txData @ "PM0_XDATA";大侠告诉我,后两句是什么意思?_no_init在编程环境转载 2018-01-27 16:29:29 · 1065 阅读 · 0 评论 -
STM32 IAP升级参考贴子
关于STM32 IAP升级操作参考:http://www.openedv.com/forum.php?mod=viewthread&tid=42195&highlight=0X20001000%2B4http://www.openedv.com/posts/list/14640.htmhttp://www.openedv.com/posts/list/26509.h原创 2018-01-27 15:31:46 · 310 阅读 · 0 评论 -
STM32串口空闲中断问题
转载:https://www.cnblogs.com/Lifescoding/p/3945417.html1.空闲中断是接受数据后出现一个byte的高电平(空闲)状态,就会触发空闲中断.并不是空闲就会一直中断,准确的说应该是上升沿(停止位)后一个byte,如果一直是低电平是不会触发空闲中断的(会触发break中断)。2.关于第二点有要铺垫的三个情况,datasheet中"当转载 2018-01-12 10:41:01 · 12071 阅读 · 1 评论 -
IAR工程加载路径解释:$PROJ_DIR$\..\User\inc
1、$PROJ_DIR$ :IAR工程目录。2、" \ " 代表根目录。3、" . ." 表示返回上一级目录。原创 2018-01-02 13:57:47 · 9618 阅读 · 1 评论 -
STM32 串口采用DMA方式收发
转载:http://blog.youkuaiyun.com/gdjason/article/details/51019219一直都没有整理STM32 DMA应用,这篇文章算是抛砖引玉吧,欢迎拍砖。 本人QQ 330952038,欢迎交流学习什么是DMA —- Directional Memory Access, 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。转载 2018-01-11 09:04:25 · 45691 阅读 · 9 评论 -
STM32F10X系列的MCU配置PB3和PB4为普通IO口
对于初学习者来说为什么用到PB3和PB4时无法控制输出呢?下面就这一问题进行分析讲解。首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些端口设置为普通I/O口。具体方法如下:在GPIO_Configuration(); // 配置使用的 GPIO 口:注意:不要转载 2017-12-06 19:23:15 · 812 阅读 · 0 评论 -
STM32关于优先级设定的理解 NVIC_SetPriority()
Systick模块初始化配置函数(Systick_config)中设定模块中断优先级的函数为:NVIC_SetPriority((SysTick_IRQn, (1 参数SysTick_IRQn为systick基址,这个没什么好说的 关键在参数 (1按照上式计算若NVIC_PRIO_BITS为4则占先优先级为15,即最低优先级值转载 2017-12-05 09:55:14 · 23519 阅读 · 4 评论 -
STM32在IAR中调用之printf函数的一个方法
原文地址:http://blog.sina.com.cn/s/blog_668bcb8f01018ect.html 在串口都配置好的情况下,在main.c文件中加入#include #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else #define PUTCHAR_PROTOTYPE转载 2017-12-10 15:45:29 · 1591 阅读 · 0 评论 -
STM32的优先级NVIC_PriorityGroupConfig的理解及其使用
写作原由:因为之前有对stm32 优先级做过研究,但是没时间把整理的东西发表,最近项目需要2个串口,但是不是两个串口同时使用,只是随机使用其中一个,程序对2个串口的优先级需要配置;此文思路:“中断优先级”思维导图-->关键要点--->结合图和要点相关程序应用例程讲解;我们先来看ST公司的一张图:我自己依据此图理解,应用思维导图画了一张方便理解:(如果看不清可通过ct转载 2017-12-09 20:44:13 · 1667 阅读 · 2 评论 -
stm32标准外设库中USE_STDPERIPH_DRIVER, STM32F10X_MD的含义
在项目中使用stm32标准外设库(STM32F10x Standard Peripherals Library)的时候,我们会在项目的选项中预定义两个宏定义:USE_STDPERIPH_DRIVER, STM32F10X_MD,如下图:这两个的作用是什么呢?1、 USE_STDPERIPH_DRIVER : to use or not the peripheral’s转载 2017-12-09 19:11:13 · 1572 阅读 · 0 评论 -
STM32存储器结构&存储器映射
问题: 1 什么是存储器映射?是怎么一个运作过程? 2 stm32总体架构 3 CM3内核结构 觉得下面这篇文章写得很精彩,转来收藏,和大家分享~ 以下转自:http://blog.sina.com.cn/s/blog_6a31d1060100ua9v.html 1 STM32系统转载 2018-01-13 09:00:21 · 434 阅读 · 0 评论 -
STM32串口+DMA
1、什么叫串口DMA 请求(战舰STM32开发板) 说这个问题之前先简单回顾DMA的基本特性。先导出原子哥的PPT内容: DMA 全称Direct Memory Access,即直接存储器访问。 DMA传输将数据从一个地址空间复制到另一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实现和完成的。 STM32有原创 2018-01-13 10:40:28 · 3705 阅读 · 2 评论 -
STM32 串口采用DMA方式接收数据
本文博客链接:http://blog.youkuaiyun.com/jdh99,作者:jdh,转载请注明.参考链接:http://www.amobbs.com/forum.php?mod=viewthread&tid=5511863&highlight=dma%E6%8E%A5%E6%94%B6环境:主机:WINXP开发环境:MDK4.23转载 2018-01-10 18:37:44 · 16274 阅读 · 2 评论 -
IAR工程文件配置
原创 2018-01-27 10:53:16 · 2047 阅读 · 0 评论 -
定时器PWM
利用TIM3四个通道输出四路不同频率和占空比的PWM:步骤一:开启定时器TIM3时钟。步骤二:初始化四个通道GPIO。步骤三:定时器基本配置。步骤四:四个输出通道的配置。步骤物:使能定时器和和各通道中断。中断函数: ...原创 2018-01-10 10:02:43 · 4318 阅读 · 3 评论 -
STM32定时器使用
STM32F1 的通用定时器是一个通过可编程预分频器(PSC)驱动的16位自动装载计数器(CNT)构成。定时器的使用注意:TIMx_PSC寄存器的值。公式中:fCK_PSC = 定时器的时钟源。PSC[15:0]值0-65535。注意PSC[15:0] +1。注意定时器时钟源频率值:APB1/APB2预分频除1时乘1否则乘2。首先,本人虽然初原创 2018-01-09 13:08:28 · 2543 阅读 · 0 评论 -
STM32定时器BURST模式
STM32 Burst模式可以方便的设置定时器的预分频值TIMx_PSC寄存器、自动重载值TIMx_ARR寄存器、定时器重复计数寄存器TIMx_RCR寄存器、定时器输出比较寄存器TIMx_CCR寄存器。这样就很容易使用DMA的性能改变定时器的频率、占空比。注意地址值的对应。原创 2018-01-16 14:26:48 · 2318 阅读 · 0 评论 -
STM32串口+DMA的使用
转载:http://blog.youkuaiyun.com/new2linux/article/details/39347049STM32串口+DMA使用 STM32有5个串口资源(USART1,USART2,USART3及UART4,UART5)。其中3个USART(通用同步/异步收/发器universalsynchronous asynchronous receiver an转载 2018-01-06 14:14:52 · 2488 阅读 · 0 评论 -
SWD TO JTAG接口
原创 2018-01-06 10:36:58 · 1396 阅读 · 0 评论 -
STM32 IAP相关知识
转载:http://www.openedv.com/forum.php?mod=viewthread&tid=85906 STM32实现IAP功能的学习笔记最近因项目需求要实现STM32的在线升级即IAP功能,先将这几天的学习体会和IAP的具体实现总结出来,分享给大家,希望对同样实现IAP的童鞋有所帮助,文中最后会上传名为STM32_Update.z转载 2018-01-22 14:33:19 · 270 阅读 · 0 评论 -
NTC 10k-25°C
原创 2018-04-07 13:36:32 · 3325 阅读 · 0 评论