
STM32
文章平均质量分 51
奶盖红茶
忠于理想忠于内心莫要这个城市淹没了梦想和向往
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STM32中printf函数重定向
标准库函数的默认输出设备是显示器,要实现在串口或LCD上的输出,必须重定义标准库函数中与输出设备相关的函数.如printf()之类的函数,使用了半主机模式。使用标准库会导致程序无法运行,解决方法如下:方法1:使用微库,因为使用微库的话,不会使用半主机模式.如果使用的是MDK,首先请在工程属性的“Target“->”Code Generation“中勾选”Use MicroL...原创 2019-12-31 06:54:48 · 1575 阅读 · 0 评论 -
Keil5调试代码时关于警告及错误信息的处理
图一 Warning 图二 NoWarningKeil中出现warning:...原创 2019-12-29 23:14:54 · 18298 阅读 · 0 评论 -
ST-Link 连接后下载时老是报错'internal command error'
近日使用JTAG调试STM32F103C8T6时,无法使用JTAG连接目标板,却能够用SWD连接。由于时间紧,也没有细究其原因。闲下来以后,仔细研究了JTAG和SWD引脚的定义,排出了物理连接错误的可能。后来又怀疑是ST-link坏了,因为更换不同的目标板均不能连接。仔细读了Keil的手册,发现如下:Connect & Reset Optionscontro...原创 2019-11-11 21:42:15 · 1808 阅读 · 2 评论 -
STM32 中的 assert_param 函数
STM32 中的 assert_param 函数 在学STM32的时候函数assert_param出现的几率非常大,上网搜索一下,网上一般解释断言机制,做为程序开发调试阶段时使用。下面我就谈一下我对这些应用的看法,学习东西抱着知其然也要知其所以然。断言机制函数assert_param我们在分析库函数的时候,几乎每一个函数的原型有这个函数assert_param();...原创 2019-11-11 21:33:05 · 499 阅读 · 0 评论 -
ARM编译中Code, RO-data,RW-data,ZI-data
ARM开发总结的小知识 :一、字节 8位半字 16位字 32位Code, RO-dataRW-data,ZI-dataCode为程序代码部分RO-data 表示 程序定义的常量(如:const temp等);RW-data 表示 已初始化的全局变量ZI-data 表示 未初始化的全局变量,以及初始化为0的变量Program S转载 2015-05-20 09:39:22 · 2132 阅读 · 0 评论 -
如何设计低功耗嵌入式系统
功耗的问题本身是一个系统的问题,要想有效地降低整体功耗,不但需要在硬件上要充分考虑,而且在软件的设计上更需要认真对待。一个真正高效的低功耗系统,软硬件的相互配合和优化才是极为关键的。1.选择高集成度的芯片2.考虑工作电流和休眠时的静态电流.3.在满足产品需求的前提下,选择配置较低的单片机,较小的RAM/ROM、较低的ADC分辨率、较低的ADC速率、较少的IO管脚原创 2015-06-26 11:01:17 · 2975 阅读 · 0 评论 -
STM32中GPIO口8种工作模式
以下内容为转载内容,感觉比较有用,特此分享。一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以转载 2015-06-26 10:57:45 · 1337 阅读 · 0 评论 -
栈区和堆区内存分配区别
文章大部分内容是转载的,觉得写的不错,特此分享。一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢?为了说明这个问题,我们先来看一下内存内部的组织情况.从上图可知,程序占用的内存被分了以下几部分.1、栈区(stack)由编译器自动分配释放,存放函数的参数值,局部变量的值等,内存的分配是连续转载 2015-06-26 11:04:08 · 1111 阅读 · 0 评论 -
堆和栈以及数组的增长方向
版权声明:本文为博主原创文章,转载请标明出处。[cpp] view plain copy"font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">c语言中堆,栈,数组的增长方向这个问题在C语言中转载 2017-08-27 06:29:36 · 783 阅读 · 1 评论 -
图解STM32 JLink 采用JTAG 模式和 SWD模式下载时引脚说明
因为项目开发需要,采用SWD模式下载STM32,以前都是用JLINKv8 的JTAG模式,而且从未认真识别过JLINKv8各引脚。只知道SWD模式下和JTAG模式下共用两个引脚而已。只有明确了v8的各引脚定义才可以自己用杜邦线取其中的几个引脚作SWD模式的下载!!!实际测试,当JATG正面拿在手里时,即缺口在上方。1、2引脚代表VDD。4、6、8、10、12、14、16、18、20原创 2015-04-17 00:03:02 · 21635 阅读 · 1 评论 -
STM32F0系列用timer控制ADC采样,然后DMA传输到Memory或者DAC
uint16_t RegularConvData_Tab[32];void ADC1_DMA_Config(void){ ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; DMA_InitTypeDef DMA_InitStructure; /* ADC原创 2013-07-18 23:10:00 · 7802 阅读 · 0 评论 -
我谈学习型红外遥控(二)
基于上一篇文章对红外遥控的分析,由于用于存储的FLASH大小有限,希望红外学习部分用于存储的内容能尽可能少。于是,需要对其进行压缩。 之前的思路是把每一个学到的电平都存储到FLASH中,占用空间比较大。所以考虑对学到的电平进行归类,压缩。 通过对接收到的数据包分析,其中数据都是载波信息和闲置无载波信息间隔构成。我暂且将这样的一对信息称作“码元”,所以一个数据包可以看成是由多原创 2013-04-19 13:08:34 · 1549 阅读 · 1 评论 -
串口线有直通和交叉之分
串口线也分直通和交叉,直通一般用于延长PC与设备,将2、3、5分别连接2、3、5,因为PC上一般为公头,而设备上多为母头,所以正好它们是通用的,既可用于延长也可用于连接;交叉一般用于PC与PC对接,将2对3、3对2、5对5,一般两头都是母头! 计算机出现之前,为连接串口设备,EIA 制定了RS232 标准。PC 机出现后,已有的串口设备成为PC机外设,自然采用RS232 标准。目前PC转载 2013-06-07 10:48:58 · 1775 阅读 · 0 评论 -
ADPCM 音频压缩算法
ADPCM(Adaptive Differential Pulse Code Modulation),是一种针对 16bits( 或8bits或者更高) 声音波形数据的一种有损压缩算法,它将声音流中每次采样的 16bit 数据以 4bit 存储,所以压缩比 1:4. 而且压缩/解压缩算法非常简单,是一种低空间消耗,高质量高效率声音获得的好途径。保存声音的数据文件后缀名为 .AUD 的大多用ADPC原创 2013-09-06 14:29:28 · 10149 阅读 · 1 评论 -
extern "C"
C和C++混合编程(转)C++项目中的extern "C" {}引言在用C++的项目源码中,经常会不可避免的会看到下面的代码:1#ifdef __cplusplus2extern"C" { 3#endif4转载 2014-11-24 19:52:25 · 506 阅读 · 0 评论 -
IAR 6.3中intrinsics.h与core_cm3.h 中的兼容错误解决方法
解决办法1:用IAR6.3打开IAR6.0 的工程,编译的时候出现提示错误:extern uint32_t __get_PSP(void); 已经在C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\c\intrinsics.h文件中定义extern uint32_t __get_MSP(void);已经在C:\Pro转载 2014-11-25 09:41:37 · 7102 阅读 · 0 评论 -
基于运放的放大电路分析
以上是我们应用中搭载的音频放大电路,以前在大学里学的东西基本上都还给老师了,工作之后也没怎么解除硬件电路的分析。最近在做音频信号的AD采样,所以要先搞懂此电路。运放反相端输入要输入的信号,同相端给了1.5V的直流偏压。拿到该电路,首先用大学学到的只是,直流和交流分开来分析。当只有直流信号时,有电容部分的电路全部视为断路。此时反相端只通过电阻R504连接到输出端。此时运放构成电压跟随器,因为同相原创 2013-07-21 02:42:06 · 6955 阅读 · 1 评论 -
我谈学习型红外遥控(一)
跟着项目组长一起做了几个空鼠项目,一直觉得自己长劲不大,因为自己只负责简单的键盘定义部分,最终的整个软件架构其实自己都不太了解。从去年11月份开始,一直都很忙,一个接着一个做,我的任务也只是键盘部分。重复的做一样东西,感觉挺没劲的!由于产品设计需要,我们要做学习型的遥控器。于是,这项任务就落在了我的手里。一说起学习型遥控器,其实,思路很简单:就是把要学习的遥控器发送的电平给记录下来,然后存原创 2013-04-13 10:30:44 · 3108 阅读 · 0 评论