STM32学习
小強EE
单片机 --> X86 EE
展开
-
神舟I号可能遇到的问题及解…
原文地址:神舟I号可能遇到的问题及解决方法汇总(STM32F103RBT6)作者:STM32神舟开发板1.关于STM32神舟I号开发板的问题汇总1.1 STM32神舟I号开发板不知道如何入门?怎么读寄存器,怎么读芯片手册?怎么写第一行代码?解决办法:STM32神舟系列开发板从零入门到精通2013年1月版(35页经典分析)http://pan.baidu.com/share/转载 2017-07-04 19:53:11 · 539 阅读 · 0 评论 -
EMWin窗口重绘(WM_Redraw.c)
实例:WM_Redraw.c效果:#include "GUI.h"#include "WM.h"static void _cbBkWindow(WM_MESSAGE* pMsg) { switch (pMsg->MsgId) { case WM_PAINT: GUI_ClearRect(0, 50, 319, 239); default: WM_原创 2017-07-04 19:57:09 · 4495 阅读 · 0 评论 -
EMWin小工具(WIDGET)Spinbox
实例:WIDGET_Spinbox.c效果:#include "GUI.h"#include "DIALOG.h"static const GUI_WIDGET_CREATE_INFO _aDialogSpinbox[] = { { FRAMEWIN_CreateIndirect,"Spinbox", 0, 0, 0,原创 2017-07-04 19:57:11 · 2610 阅读 · 0 评论 -
STM32使用systick实现精确延时
SYSTICK寄存器初始化void SysTick_Configuration(void){ if (SysTick_Config(SystemCoreClock /100)) { while(1); } NVIC_SetPriority(SysTick_IRQn,0x0); }SysTick_Con原创 2017-07-04 19:57:15 · 2114 阅读 · 0 评论 -
emWin菜单(Menu)学习
实例:WIDGET_Menu效果关键代码 MENU_SetDefaultEffect(&WIDGET_Effect_3D1L);//设置菜单样式 _hMenu =_CreateMenu(hDlg); //获取父窗口的句柄 WM_SetFocus(_h原创 2017-07-04 19:57:23 · 3041 阅读 · 0 评论 -
STM32 FSMC学习笔记
原文地址:FSMC学习笔记">STM32 FSMC学习笔记作者:暴走的工程师(文章写的很乱,见谅!!)FSMC全称“灵活静态存储器控制器”。FSMC 包括4个模块:FSMC学习笔记" />FSMC学习笔记" TITLE="[转载]STM32 FSMC学习笔记" />(1)AHB接口(包括FSMC配置寄存器)(2)NOR闪存和PSRAM控制器(驱动LCD的时候LCD就好像一个PSRAM的转载 2017-07-04 19:57:29 · 992 阅读 · 0 评论 -
STM32的FATFS文件系统移植笔记(转…
一、序言 经常在网上、群里看到很多人问关于STM32的FATFS文件系统移植的问题,刚好自己最近也在调试这个程序,为了让大家少走弯路,我把我的调试过程和方法也贡献给大家。二、FATFS简介 FatFs Module是一种完全免费开源的FAT文件系统模块,专门为小型的嵌入式系统而设计。它完全用标准C语言编写,所以具有良好的硬件平台独立性,可以移植 到8051、PIC、AVR、SH、...原创 2019-10-31 09:51:41 · 13972 阅读 · 1 评论 -
利用fatfs文件系统实现了SD卡追加…
原帖地址:http://www.amobbs.com/thread-5537678-1-1.html在fatfs文件系统下,实现SD卡的读取追加内容,实现方法是:读取文件、偏移指针、填写内容。追加内容时需要利用f_sleek函数将指针移到文本尾部,再写问容,具体实现main函数的功能是两个按键来控制添加不同的内容,按键1按下时添加 BYTE sample_buffer[] ="2710,27原创 2017-07-04 19:58:33 · 3035 阅读 · 0 评论 -
FATFS文件系统复制文件
原帖地址:刚刚完成了fatfs下面的文件夹复制,貌似没有问题,Traids之前说的文件夹复制有问题,可以参考一下我这个代码 验证了一下SYSTEM文件夹的COPY,没有问题.以下代码需要用到malloc,在论坛我已经发帖过,可以搜索一下,或者使用系统的malloc.//文件复制//将psrc文件,copy到pdst.//psrc,pdst:源文件和目标文件//fwmode:文件原创 2017-07-04 19:58:36 · 6659 阅读 · 0 评论 -
讲讲volatile的作用
原文地址:讲讲volatile的作用作者:LonlyGod一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1). 并行设备的硬件寄存器(如:状态寄存器)2). 一个中断服务子程序中会访问到的转载 2017-07-04 19:59:26 · 146 阅读 · 0 评论 -
STM32 FSMC学习笔记
原文地址:FSMC学习笔记">STM32 FSMC学习笔记作者:奇美拉的早茶(文章写的很乱,见谅!!)FSMC全称“灵活静态存储器控制器”。FSMC 包括4个模块:FSMC学习笔记" />FSMC学习笔记" TITLE="[转载]STM32 FSMC学习笔记" />(1)AHB接口(包括FSMC配置寄存器)(2)NOR闪存和PSRAM控制器(驱动LCD的时候LCD就好像一个PSRAM的转载 2017-07-04 20:00:17 · 1852 阅读 · 0 评论 -
Modbus通信协议详解
一、Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备转载 2017-07-24 14:11:17 · 565 阅读 · 0 评论 -
USB2.0协议分析
原帖地址:http://blog.chinaunix.net/uid-31087949-id-5760709.html一、USB硬件介绍1.1、概述 一条USB传输线分别由地线、电源线、D+和D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500转载 2017-08-17 22:17:07 · 472 阅读 · 0 评论 -
USB协议[转]__总结得很好
一 枚举过程:◆ 用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态。◆主机检测设备。◆集线器使用中断通道将事件报告给主机。◆主机发送Get_Port_Status(读端口状态)请求,以获取更多的设备信息。◆集线器检测设备是低速运行还是高速运行,并将此信息送给主机,这是对Get_Port_Status请求的响应。◆主机发送Set_Port_Featur转载 2017-08-17 22:21:26 · 348 阅读 · 0 评论 -
USB命令(请求)和USB描述符
一、USB命令 在USB规范里,对命令一词提供的单词为“Request”,但这里为了更好的理解主机与设备之间的主从关系,将它定义成“命令”。 所有的USB设备都要求对主机发给自己的控制命令作出响应,USB规范定义了11个标准命令,它们分别是:Clear_Feature、Get_Configuration、Get_Descriptor、Get_Interface、Get_Status、Se转载 2017-08-17 22:22:37 · 380 阅读 · 0 评论 -
EMWin对话框(Diolog)滑动条(slide…
实例:DIALOG_SliderColor.c效果:#include#include "GUI.h"#include "DIALOG.h"static const GUI_COLOR ColorsSeggerLogoBlue16[] = { 0x0000FF,0x000000,0x888888,0xFFFFFF ,0xFF0000,0xBBBBBB}原创 2017-07-04 19:57:06 · 2127 阅读 · 0 评论 -
EMWin对话框(Diolog)通知框(Messa…
实例:DIALOG_MessageBox.c效果:#include "GUI.h"#include "WM.h"static void _cbBkWindow(WM_MESSAGE* pMsg) { switch (pMsg->MsgId) { case WM_PAINT: GUI_SetBkColor(GUI_RED); GUI_Clear();原创 2017-07-04 19:57:03 · 2788 阅读 · 0 评论 -
从UCOS到多任务实现--初学者…
原文地址:从UCOS到多任务实现--初学者的一些认识作者:一直很安静 作者:fineamy 栏目:嵌入式系统从UCOS到多任务实现--初学者的一些认识前段时间学了学UCOS,有了点感想,想说说,它也许对DX来说是垃圾,但对有些人或许还有那么一丁点作用,如果其中有不妥之处,请各位指出来,所谓的多任务有下面几个实现方式:方案:1.时间片轮回,每个任务转载 2017-07-04 19:53:32 · 737 阅读 · 0 评论 -
硬件仿真在汇编窗口看到停留在“0x0…
BEAB BKPT 0xAB的解决办法" TITLE="硬件仿真在汇编窗口看到停留在“0x0800XXXX BEAB BKPT 0xAB的解决办法" />原创 2017-07-04 19:55:07 · 403 阅读 · 2 评论 -
STM32引脚模式GPIOMode_TypeDef
① 浮空输入_IN_FLOATING //串口输入② 带上拉输入_IPU③ 带下拉输入_IPD④ 模拟输入_AIN⑤ 开漏输出_OUT_OD⑥ 推挽输出_OUT_PP //置位⑦ 复用功能的推挽输出_AF_PP //串口输出⑧ 复用功能的开漏输出_AF_OD推挽输出原创 2017-07-04 19:55:12 · 3735 阅读 · 0 评论 -
STM32问题汇总
STM32F107复位后死机:现象是程序运行慢,一段时间后复位程序就死了,重新上电程序可以运行。检查晶振不起振,同事把电容焊错了,换电容OK了STM32F103VET6晶振不起振,仿真程序不能运行,出现类似boot没有接地的问题。不仿真运行时程序可以运行,但是使用的是内部晶振,速度慢,初步怀疑原因是焊接单片机时使用焊锡膏,焊锡膏吸湿导电的原因,解决办法,焊接时不要使用助焊剂,多加焊锡解决原创 2017-07-04 19:56:26 · 439 阅读 · 0 评论 -
STM32F107定时器4用作外部计数器的…
不用配置引脚为输入模式,TIM_TIxExternalCLK1Source_TI2为PB7引脚void TIM4_Init(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); T原创 2017-07-04 19:56:34 · 1209 阅读 · 0 评论 -
STM32 DMA使用详解
DMA部分我用到的相对简单,当然,可能这是新东西,我暂时还用不到它的复杂功能吧。下面用问答的形式表达我的思路。DMA有什么用? 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。有多少个DMA资源? 有两个DMA控制器,DMA1有7个通道,DMA2有5原创 2017-07-04 19:56:37 · 372 阅读 · 0 评论 -
STM32外部中断详解
一、基本概念 ARMCoetex-M3内核共支持256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置。STM32目前支持的中断共84个(16个内部+68个外部),还有16级可编程的中断优先级的设置,仅使用中断优先级设置8bit中的高4位。 STM32可支持68个中断通道,已经固定分配给相应的外部设备,每个中断通道都具备自己的中断优先级控制字节PRI_原创 2017-07-04 19:56:40 · 532 阅读 · 0 评论 -
STM32的DMA多通道多数据AD转换
STM32 ADC多通道转换描述:用ADC连续采集11路模拟信号,并由DMA传输到内存。ADC配置为扫描并且连续转换模式,ADC的时钟配置为12MHZ。在每次转换结束后,由DMA循环将转换的数据传输到内存中。ADC可以连续采集N次求平均值。最后通过串口传输出最后转换的结果。程序如下:#i nclude "stm32f10x.h" //这个头文件包括STM32F10x所有外围寄存器、位、内存原创 2017-07-04 19:56:43 · 6312 阅读 · 1 评论 -
[汇总]STM32的中断(优先级,开关…
一:综述STM32 目前支持的中断共为 84 个(16 个内核+68 个外部), 16 级可编程中断优先级的设置(仅使用中断优先级设置8bit 中的高 4 位)和16个抢占优先级(因为抢占优先级最多可以有四位数)。二:优先级判断 (一)中断优先级概念 STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'原创 2017-07-04 19:56:46 · 817 阅读 · 0 评论 -
CRC8校验原理
CRC即循环冗余校验码(Cyclic RedundancyCheck):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。 CRC校验可以简单地描述为:例如我们要发送一些数据(信息字段),为了避免一些干扰以及在接收端的对读取的数据进行判断是否接受的是真实的数据,这时我们就要加上校验数据(即CRC校验码),来判断接收的数据是否正确。在发送端,根据原创 2017-07-04 19:56:49 · 7101 阅读 · 0 评论 -
stm32时钟分析
在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 其实是四个时钟源,如下图所示(灰蓝色),PLL是由锁相环电路倍频得到PLL时钟。 ①、HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③、LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④、LSE是低原创 2017-07-04 19:56:52 · 271 阅读 · 0 评论 -
EMWin学习笔记
1:实例:WIDGET_ListView.c 效果: static void _ChangeMainText(char* pStr) { WM_MESSAGE Message; Message.MsgId =MSG_CHANGE_MAIN_TEXT; Message.Data.p = pStr; WM_SendMessage(WM_HBKWIN,&Messa原创 2017-07-04 19:56:54 · 722 阅读 · 0 评论 -
EMWin对话框Diolog学习
1:实例DIALOG_Count.c效果#include "DIALOG.h"static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = { { FRAMEWIN_CreateIndirect,"Counting...", 0, 30, 90, 260, 140, FRAMEWIN_CF_MOVEAB原创 2017-07-04 19:56:57 · 2119 阅读 · 0 评论 -
EMWin实现点击文本就可以改变radio…
实例DIALOG_Radio.c效果:#include#include "GUI.h"#include "DIALOG.h"static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = { { FRAMEWIN_CreateIndirect, "Radio buttonsample",0, 30, 70,原创 2017-07-04 19:57:00 · 1414 阅读 · 0 评论 -
RT-Thread之python和scons
-python不是内部指令也不是外部指令 现在我假设你的python安装在C:\Python27目录下,设置环境变量方法如下:方法一、我的电脑->属性->高级->环境变量->系统变量 在系统变量里找到PATH,双击PATH,在结尾加上 “;C:\Python27”(不要引号)原创 2017-10-31 14:05:48 · 661 阅读 · 0 评论