STM32
文章平均质量分 76
stephen_kl
现在不学,更待何时……
展开
-
STM32F1 ADC DMA多路采集取平均防错位
STM32F1 ADC DMA错位原创 2022-09-22 22:17:24 · 801 阅读 · 0 评论 -
RT-Thread控制台串口号切换到uart2方法
RT-Thread:4.0.3由于默认的串口1使用起来不是很方便,研究下如何切换到串口2,记录如下1、修改配置文件rtconfig.h将#define RT_CONSOLE_DEVICE_NAME "uart1"改成#define RT_CONSOLE_DEVICE_NAME "uart2"注释掉下面一行//#define BSP_USING_UART1改成#define BSP_USING_UART22、修改stm32f4xx_hal_msp.c文件..原创 2021-04-10 22:59:49 · 1439 阅读 · 0 评论 -
探索者STM32F407不能复位
购买的正点原子的探索者STM32F407的开发板,接上usb转串口的线到PC看打印然后不管是软复位还是硬复位都失效把usb转串口线拔下,用LED设置亮灭来识别复位成功,每次都能成功后来看到正点原子的资料,里面有讲到推荐使用的一款串口助手,叫XCOM,用这个软件就不存在软硬件复位不成功的现象了软件复位使用下面两行代码__set_FAULTMASK(1); // 关闭所有中断NVIC_SystemReset(); // 复位在此做个记录,方便遇到同样问题的攻城狮查找问题..原创 2020-09-28 18:34:21 · 1502 阅读 · 0 评论 -
MODBUS-功能码详解
转自https://blog.csdn.net/xiaoluoshan/article/details/73233955 ——————————————————————————————————————————————————————————————————————————————————————————————————————————————...转载 2020-09-28 18:13:42 · 4529 阅读 · 0 评论 -
STM32学习笔记:读写内部Flash(介绍+附代码)
一、介绍首先我们需要了解一个内存映射:stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同。RAM起始地址是0x2000 0000,结束地址是0x2000 0000加上芯片的RAM大小。不同的芯片RAM也不同。Flash中的内容一般用来存储代码和一些定义为const的数据,断电不丢失...转载 2020-05-06 22:17:56 · 1570 阅读 · 0 评论 -
STM32中GPIO的8种工作模式
有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入的区别转载自:http://bbs.ednchina.com/BLOG_ARTICLE_2082651.HTM最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN模拟输入(2)GPIO_Mode_IN_FLOATI...转载 2020-03-31 13:43:39 · 418 阅读 · 0 评论 -
stm8下载程序(使用ST-LINK下载器和STVP下载软件)
摘自 http://blog.csdn.net/yanlutian/article/details/71158962首先要说下为什么要建立烧写工程呢- -原因只有一个。因为你不可能将源码工程交给别人去帮你烧程序。- -然后要吐槽下ST官方的IDE。真的。用得我极度不爽。所以后来转战IAR。结果发现IAR没法批量生产- -因为IAR少程序貌似一定要在工程下。不能直接将转载 2017-08-21 09:42:47 · 13259 阅读 · 0 评论 -
STM32F10x的启动汇编分析
;******************** (C) COPYRIGHT 2009 STMicroelectronics ******************** ;* File Name : startup_stm32f10x_cl.s ;* Author : MCD Application Team ;* Version转载 2017-05-09 08:31:37 · 705 阅读 · 0 评论 -
STM32系统滴答_及不可不知的延时技巧
我想每个单片机爱好者及工程开发设计人员都有过点灯的经历。流水灯是个好东西,尤其是在调试资源有限的环境中,有时会帮上大忙。 然在最初入门时,如何让这些小灯们按照我们的想法欢快地跑起来呢,绝大多数小朋友的做法是:在一个while循环里加上延时程序,让小灯在每个状态下停留一段时间,再进入下一个状态,这样小灯们就会在不同的状态中切换,就可以根据我们设计的程序闪烁了。 这样这里就会涉及到一个转载 2017-05-25 08:53:15 · 3845 阅读 · 1 评论 -
STM32启动文件详解
http://www.techbulo.com/540.htmlboot在嵌入式应用程序开发过程里,由于使用C语言编程,基本很少涉及到机器底层寄存器的执行过程,一般都会直接在main函数里开始写代码,似乎main成为了理所当然的起点,尽管从C程序的角度来看程序都是直接从main函数开始执行。然而,MCU上电后,是如何寻找到并执行main函数这一问题却很自然的被忽转载 2016-02-29 17:02:59 · 5812 阅读 · 1 评论 -
【转载】STM32GPIO八种工作模式区别
在Cortex-M3里,对于GPIO的配置种类有8种:(1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_A转载 2015-12-18 09:49:47 · 1729 阅读 · 0 评论 -
将STM32的标准库编译成lib使用【图文】
以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程。这个编译过程是一个相当慢的过程!完全编译大约需要一支烟的时间。每次建立工程都这么编译,是一个相当浪费时间和香烟的过程。于是,我有了将库编译成lib文件的想法。本博文就是我将STM32F4的标准库编译成lib文件并在工程中使用的过程。适用对象:1、熟悉库,不想再看库里边代码转载 2015-02-10 15:31:20 · 2106 阅读 · 0 评论 -
手把手之STM32启动代码
http://blog.chinaunix.net/uid-29270124-id-5747094.html对于熟悉电脑的伙伴们来说,BIOS(那个蓝色的界面)可能不会太陌生吧,这货就是电脑的启动代码。没有BIOS的电脑,那注定是一块板砖!BIOS主要是做一些开机前的准备工作,例如系统时间设定、启动顺序。。。扯远了 其实电脑本身就是从单片机而来,那么单片机也是有启动代码的,只转载 2017-05-09 09:07:51 · 2484 阅读 · 0 评论 -
STM32F030 ADC1的DMA采样问题
搞了1天一直ADC没有出来,发现采处理的值一直是固定值..去21IC求助贴.[STM32F0] STM32F030 ADC1采样问题请教等了好久都没有人回复,但有人提醒我说需要等待DMA的数据完成.后面对比了别人的代码,/* ADC DMA request in circular mode */ADC_DMARequestModeConfig(ADC1, ADC转载 2017-06-02 18:49:04 · 2020 阅读 · 1 评论 -
STM32串口IAP(YModem)
在之前的《STM32串口IAP》一文中,通过传输数据流来升级程序,但是这种"裸"数据的传输方式存在这许多的问题,比如它没有容错机制,不能保证数据的正确传输,还比如说它无法获知升级文件的信息,导致它在判断何时停止接收数据上“犹豫不决”。正式为了解决上面的问题,才引进了YModem协议。在《YModem协议简介》一文中,已经详细介绍了YModem的协议,这里就不再赘述,这篇文章就来讲讲如何将Y转载 2017-06-23 16:56:30 · 1872 阅读 · 1 评论 -
串口进行STM32F0的IAP移植手记(包括RAM&ROM地址设置)
http://blog.csdn.net/flydream0/article/details/520586011 前言STSW-STM32116是ST官网基于标准库的针对STM32F0的USART进口IAP示例程序,下载链接:http://www.stmcu.org/document/detail/index/id-213120工程原本是针对STM32F051,本文转载 2018-01-16 13:28:07 · 6330 阅读 · 0 评论 -
Keil5 点击Debug Setting 使软件奔溃的解决方法
http://blog.csdn.net/jialiang_825/article/details/78814191今天再网上下了一个别人Dome工程,在本地编译通过,正准备选择调试器的时候发现IDE奔溃了 重新进软件和重新编译都无法解决,再度娘之后找到了解决方法 和大家分享一下再工程路径下找到与项目同名的 .UVOPTX 文件 uvoptx文件记录了工程的配置选项转载 2018-02-01 13:46:35 · 3392 阅读 · 0 评论 -
hex 文件详解 stm32
http://blog.csdn.net/yx_l128125/article/details/13624947我们先来详细分析“方法一”的操作:1.我们设置编译 程序的编译器(如图),这个设置意思是把程序下载到flash 的 0x0800 0000开头的位置,然后编译程序2.编译完程序后,在工程目录的output文件夹中找到编译后生产的.hex文件;用 notepad++ 或者 UltraEd...转载 2018-02-11 17:45:25 · 1391 阅读 · 0 评论 -
二值信号量和互斥锁到底有什么区别?
原文链接:https://www.cnblogs.com/codescrew/p/8970514.html在说明之前我先抛出结论:互斥锁和二值信号量在使用上非常相似,但是互斥锁解决了优先级翻转的问题假定我们现在有三个任务,task1,task2,task3,任务优先级task1最高,然后依次降低。我们知道在系统调度的时候当两个任务同时处于就绪态的时候,系统会优先执行优先级高的任...转载 2019-07-16 14:52:33 · 383 阅读 · 0 评论 -
mini210开发板的SPI驱动的应用程序
使用mini210与STM32进行SPI通信这个是mini210的spi驱动的应用程序代码如下这个是全双工的代码,可以对SPI0进行读写操作SPI_IOC_MESSAGE(1)这个就是全双工通信的核心代码#include #include #include #include #include #include #include #in原创 2012-01-19 16:12:09 · 241 阅读 · 8 评论 -
RT-Thread 串口DMA使用笔记--STM32F207
http://www.amobbs.com/archiver/tid-5515150.htmlRT-Thread学习笔记八 --------USART DMA方式发送老规矩,首先说一下我的配置STM32F207IGT6 MDK RTT 1.1.0 使用UART2作为finsh组件,UART3作为串口输出转载 2014-06-17 22:33:07 · 12382 阅读 · 0 评论 -
Keil总是出现“File has been changed outside the editor, reload?”提示
Keil总是出现“File has been changed outside the editor, reload?”提示,在用Keil的时候有时候不知道点错什么了,总是会出现这个提示,其实这不算是一个bug知识你打开了相应的**.map文件,造成每次你编译文件的时候该文件后会发生改变,从而出现这个提示!解决办法是,关闭已经打开的对应工程文件的map文件,以我自己的工程文件为例如下图所示转载 2013-10-28 13:55:48 · 8628 阅读 · 3 评论 -
百为STM32开发板教程之十二——NAND FLASH
参考资料:百为stm32开发板光盘V3\百为stm32开发板光盘\芯片数据手册\K9F1208.pdf百为stm32开发板光盘\st官方参考资料\Application notes\AN2784 Using the high-density STM32F10xxx FSMC peripheral to drive external memories.pdf实验目的:实现擦除NAND转载 2013-10-16 14:26:40 · 12748 阅读 · 1 评论 -
STM32F407的UDP发送数据
探究WaveShare的F407的板子好几天了,这两天一直止步于网卡模块的udp发包,因为截包工具总是收不到我代码里面发出去的数据包,我的要求是只发特定数据,不管收到的数据包记录下整个测试过程,以便以后翻阅使用开发板自带的例程,udp_echo_server的例子,在此基础上修改,main函数是int main(void){ /*! 1原创 2013-02-21 15:34:17 · 12454 阅读 · 4 评论 -
lwIP相关TCP/IP应用函数
lwIP RAW TCP/IP接口作者: Adam Dunkels, Leon Woestenberg, Christiaan Simons lwIP为使用TCP/IP协议通信的应用程序编程提供了两种接口接口(APIs):* 低层次的称之为"core" / "callback" 或者 "raw" API* 高层次的称之为"sequential" API lwIP "se转载 2013-02-18 22:21:54 · 4487 阅读 · 0 评论 -
STM32F407的外部中断设置
比如要是使用GPC3作为中断源,上升沿触发外部中断必须配置好EXTI和NVIC使用以下函数打开SYSCFG的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE)GPIO设置如下void GPIO_Configuration(void){GPIO_InitTypeDef GPIO_InitStr原创 2013-01-29 11:39:58 · 10405 阅读 · 1 评论 -
STM32的定时器和ADC
STM32的定时器和ADC开启两个定时器给FPGA使用要求是一、定时器可以在任何时刻关闭,就算计数不满也要停二、定时器在再次开启时可以从0计数三、定时器可以在启动过程中停止,然后更改定时周期再开始从0计数主要的几个函数//tim_num=0对应 定时器2,tim_num=1对应 定时器3;tim_us:定时器uS数void stm32_tim原创 2012-01-19 15:56:21 · 5247 阅读 · 1 评论 -
STM32 spi与FPGA的通信
STM32 spi总线通信最近在研究SPI总线,至于协议和硬件描述就不多说了四线包括时钟、片选、接收、发送初始化SP SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //全双工 SPI_InitStructure.SPI_Mode = SPI_Mode_Master;原创 2012-01-19 15:12:22 · 10029 阅读 · 1 评论 -
基于STM32 8通道ADC采样实现源代码(转) 以后设计参考使用
#include "stm32f10x_lib.h"#include extern void board_Configuration(void); extern unsigned short ADC_ConvertedValue[8];int main(void){ unsigned int i="0"; unsigned short AD_scal转载 2012-01-10 15:24:20 · 1471 阅读 · 0 评论 -
STM32中定时器的时钟源
STM32中有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生。其它6个为普通定时器,时钟由APB1的输出产生。下图是STM32参考手册上时钟分配图中,有关定时器时钟部分的截图:从图中可以看出,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器,图中的转载 2011-12-07 11:37:01 · 2028 阅读 · 0 评论 -
STM32 ADC 采样 频率的确定
http://heroxx.blog.163.com/blog/static/5423580201052203546266/ 一 STM32ADC 采样频率的确定1. :先看一些资料,确定一下ADC的时钟:(1),由时钟控制器提供的A转载 2011-09-14 10:48:15 · 4432 阅读 · 0 评论 -
STM32F4的I2C读取BMP085模块的温度和气压
这个i2c搞了好几天,网上很多人都讲这是ST封装库的问题,而且基本上讲的都是STM32F1系列的片子,甚至给出了一些他们自己研究的成果,至于F4,这方面的说法不多。没办法,从头来吧。研究了下BMP085的datasheet,就是要用I2C读写寄存器,地址为0xee(写),从而计算温度和气压。创建了一个项目文件,把I2C的库文件放进去,写main函数首先配置uart1和I2c:原创 2013-03-06 14:19:31 · 12802 阅读 · 24 评论 -
STM32 F207的PWM输入捕获频率和占空比
好久没有更新了,天天虚度光阴!!!最近要做一个项目,需要对外部的PWM信号统计频率和占空比,那做吧使用的是STM32F207的片子看datasheet,发现定时器几大功能之一就是对PWM信号的捕获比较.说明定时器即可以产生PWM信号,还可以对外部的PWM信号捕获.自己仿真一下吧,将D0脚作用PWM信号的输出,用定时器3调整其高低电平输出时间,就算是一路占空比原创 2013-04-02 14:36:51 · 11806 阅读 · 1 评论 -
电阻屏工作原理--ADS7843的使用
http://www.ebnar.cn/article/2011-9-6/405-1.html人机界面触摸屏专题—触摸屏的工作原理 触摸屏是一种简单、方便的输入设备,它的应用随着信息社会的发展越来越普遍。为了操作方便,人们用触摸屏代替鼠标或键盘,根据触笔点击的位置来定位选择信息输入。目前在高档PDA上,绝大部分都使用触摸屏转载 2013-09-03 14:52:42 · 8072 阅读 · 0 评论 -
STM32的FSMC驱动TFT笔记
1、FSMC初初了解:FSMC 包括4个模块:(1)AHB接口(包括FSMC配置寄存器)(2)NOR闪存和PSRAM控制器(驱动LCD的时候LCD就好像一个PSRAM的里面只有2个16位的存储空间,一个是DATA RAM 一个是CMD RAM)(3)NAND闪存和PC卡控制器(4)外部设备接口我们驱动TFT很明显用的是第二个模块:NOR闪存。 2、FSMC的转载 2013-09-03 09:46:51 · 6347 阅读 · 1 评论 -
stm32f4开发板驱动LCD液晶屏的个人总结
研究了几天的F4的FSMC方式驱动触摸屏,得到一些认识,现在列举如下,流水帐般没有组织的记录仅供自己以后参考使用的是一款叫微雪电子的F407的开发板,但是他们的客服却不太愿解答用户提出的问题。触摸屏是以前购买火牛的时候带的一块LCD屏,屏上有HY32D字样,里面含有控制电路,相关硬件是SSD1289和ADS7843,SSD1289控制LCD,ADS7843通过SPI控制触摸原创 2013-09-06 16:13:49 · 10341 阅读 · 0 评论 -
STM32F1xx ADC 采样 频率的确定
http://blog.chinaunix.net/uid-21143149-id-1830046.html一 STM32 ADC 采样 频率的确定1. :先看一些资料,确定一下ADC 的时钟:(1),由时钟控制器提供的ADCCLK 时钟和PCLK2(APB2 时钟)同步。CLK 控制器为ADC 时钟提供一个专用的可编程预分频器。(2) 一般转载 2013-08-28 13:53:59 · 5805 阅读 · 2 评论 -
STM32 FSMC的用法--LCD
节选自【ALIENTEK 战舰STM32开发板例程系列连载+教学】第十八章 TFTLCD显示实验上一章我们介绍了OLED模块及其显示,但是该模块只能显示单色/双色,不能显示彩色,而且尺寸也较小。本章我们将介绍ALIENTEK 2.8寸TFT LCD模块,该模块采用TFTLCD面板,可以显示16位色的真彩图片。在本章中,我们将使用战舰STM32开发板上的LCD接口,来点亮TFTL转载 2013-08-23 15:00:49 · 27892 阅读 · 2 评论 -
微雪的STM32F407开发板+友善之背的wifi模块SDWIFI-YS09测试
在rt-thread的网站上看到他们使用自己开发的realtouch调通wifi的过程以及开源的代码,想拿过来试试,看能不能跑通。手上有一块微雪电子的stm32F407的开发板,还有友善之背的wifi模块。rtt网站上下了个3_networking_wifi.rar包,看内容和介绍是使用的G-SPI硬件连接。把包里面的两个bin文件copy进TF卡里面,接到开发原创 2013-08-22 11:44:57 · 8643 阅读 · 7 评论 -
STM32学习笔记(串口、IAP)
串口: 一. USART_ITConfig(USART1, USART_IT_TXE, ENABLE):只要发送寄存器为空,就会一直有中断,因此,要是不发送数据时,把发送中断关闭,只在开始发送时,才打开。 二.以下是字符发送的配置过程,注意第6点,在设置USART_CR1中的TE位时,会发送一个空闲帧作为第一次数据发送,所以即便你执行了USART_ClearFlag(U转载 2013-07-03 14:03:42 · 6777 阅读 · 0 评论