STM32
文章平均质量分 99
Old_Driver_Lee
Old Driver
展开
-
STM32内存大小与地址的对应关系以及计算方法
1、概述在计算机中要访问存储区,都是通过地址来进行访问的,包括所有的外设(比如串口、内存、硬盘等),都对应有一个访问地址,地址就相当于门牌号,有了门牌号,我们才知道操作的是哪一个区域、哪一个外设。最被大家熟知的是计算机内存,计算机内存有4G、8G,16G等等,对于程序员而言,要在代码中操作这些内存,肯定得知道内存的地址,此外,还需要会计算地址与内存大小的计算方法与对应关系。STM32作为微原创 2017-10-11 15:04:01 · 36628 阅读 · 7 评论 -
STM32获取当前系统时钟
1、STM32获取当前系统时钟代码如下: RCC_ClocksTypeDef get_rcc_clock; //获取系统时钟状态 RCC_GetClocksFreq(&get_rcc_clock); //仿真的时候就可以在结构体get_rcc_clock中看见各个外设的时钟了注意: 上述代码中的结构体RCC_ClocksTypeDef原型,可以在库文件stm32原创 2018-01-26 09:44:06 · 21552 阅读 · 0 评论 -
STM32F1小白系列之四、独立看门狗(IWDG)
一、看门狗原理1、单片机中有一个【寄存器(计数器)】专门用来倒计数,这个计数器倒计数是独立于程序之外的,不受程序影响的。(程序是井,计数器是河,井水不犯河水,你跑你的程序,我记我的数,互不影响。)2、但是: 这个【计数器】会有一个初值,这个值会逐次递减,终有一刻会自减到0,当计数自减到0的时候,【系统】就会强制重启,程序会从头开始运行。 而当计数器每次倒计数到0之前,如果往计数器里面重新写入一次原创 2017-03-15 17:39:18 · 2526 阅读 · 4 评论 -
IAR配色方案
STM32开发一般最常用的就是Keil和IAR,在本篇博客中,将分别记录IAR和Keil的配置方案,作为备忘,同时广大网友们,要是觉得有用,也可以做个参考。因为还是菜鸟,有些地方说的不全或者讲错,还请大牛们进行指正,谢谢大家。一、IAR配置方案 本人最近一直在用IAR进行STM32的开发,当时因为刚开始使用,感觉还是不太习惯IAR的编程界面,熟悉了一段时间,摸索了一下,改了一款自己喜欢的字体原创 2017-08-01 14:46:04 · 6796 阅读 · 1 评论 -
STM32操作访问flash,包括写入数据到flash和从flash读取数据
STM32中存储区分为:随机存取存储器RAM和只读存储器ROM。 其中:RAM为常说的内存,比如手机的2G内存4G内存等,就是程序跑起来的时候所占用的存储空间,特点是掉电数据丢失。ROM为常说的硬盘,比如手机的64G和128G等,可以简单的理解为硬盘的存储空间,特点是掉电数据不丢失,所以又叫“非易失存储空间”。 ROM又包含:EEPROM和flash。画个嵌入式产品存储器件的思维导图如下(原创 2017-10-10 19:54:03 · 71794 阅读 · 25 评论 -
LED取反
代码如下://FUNCKTION: LED取反//PARAMATER: GPIOx : Select the GPIO peripheral number (x = A to I).// GPIO_Pin : Specifies the pins to be toggled.//RETURN : 无////取自库函数原型:void GP原创 2018-01-05 12:36:46 · 2897 阅读 · 0 评论 -
stm8s: GPIO配置,点亮LED!PB4,PB5引脚LED点不亮
最近两天在做STM8S103的开发,调完硬件后,就开始编写软件了,第一步当然又是点亮LED灯了,结果很尴尬的死活点不亮!后来各种百度,认真查看数据手册,才发现一个很大的坑,由于粗心大意,没有看到,做个笔记,以为备忘。1、流程点亮LED,流程跟STM32基本一样:(1)配置GPIO(STM8S不需要专门配置每个引脚的时钟,最开始的时候配置系统时钟即可)(2)GPIO输出高低电平原创 2017-12-21 14:15:42 · 7308 阅读 · 2 评论 -
STM32/STM8L/STM8S系列之一、流水灯
一、STM32F103点亮LED1、电路图:2、代码://FUNCTION:LED初始化//PARA :无//RETURN :无void LED_INIT(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO |原创 2017-03-03 14:26:56 · 2372 阅读 · 0 评论 -
STM32/STM8L/STM8S系列之二、UART/USART
一、STM32F103串口1、串口初始化/******************************************************************************** FUNCTION: USART3初始化* PARA : bound:波特率* RETURN : 无*********************************原创 2017-03-03 14:37:08 · 2009 阅读 · 0 评论 -
STM32/STM8L/STM8S系列之三、SPI
一、SPI简介1、全称:Serial Peripheral interface,串行外围设备接口2、特征:高速、全双工、同步通信、四根线3、四线:CS片选、SCLK时钟、MISO主入从出、MOSI主出从入二、SPI工作原理1、SPI通信方式简明图: 2、SPI可以挂载多个设备,通过片选线CS来选择哪个设备被选中。3、主机和从机都有一个串行移位寄存器,当开始传输数据时原创 2017-03-03 14:38:10 · 1599 阅读 · 0 评论 -
MDK pack包官网下载地址
http://www.keil.com/dd2/Pack/ 进入到官网,Ctrl+F搜索STM32,找到对应的包下载,再加载到MDK中即可。如下图:原创 2018-01-24 14:38:34 · 10487 阅读 · 4 评论 -
STM32、MDK(Keil)、Windows开发环境搭建
开始学习STM32,网上搜了一些教程,并做了一些总结:关于STM32进门环节——搭建环境。作为记录以备忘记。[捂脸] 注:本文以STM32F103C8T6开发板为例。STM32开发,涉及到软件、硬件的使用(这是废话[捂脸]),在本文中,软件使用的是MDK(Keil)5.13版本,硬件开发板使用的是STM32F103C8T6。搭建环境一共分为以下几个步骤:安装软件以及软件的使原创 2017-03-03 14:20:58 · 1368 阅读 · 1 评论 -
STM8S与IAR程序常用错误
感谢博主分享的文章。原文地址:http://blog.sina.com.cn/s/blog_6427cceb0102vd5r.html一、IAR中的重复定义问题 在自己写头文件时,要记得将常量定义在.c文件中,如果将常量定义在.h文件中,当在main.c或者其他地方包含该头文件时,会将头文件中的常量定义包含到main.c中,同时,相应的.c文件也有该常量定义语句,就会导致linker报错,有xxxx转载 2017-12-28 11:04:03 · 2250 阅读 · 0 评论 -
stm32不小心把SWD和JTAG都给关了,程序下载不进去,解决办法
昨天手贱,不小心把STM32的SWD和JTAD接口都给关了,现在解决了,百度了一些帖子,大牛们说的很好,只是作为一个菜鸟,觉得有必要把步骤写的详细一点。所以赶紧发个帖子压压惊。 这就是昨天关掉这两个接口的两句程序:GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//关掉JTAG,不关SWGPIO_PinRemapConfig(GPIO原创 2017-03-03 14:39:54 · 22389 阅读 · 9 评论 -
STM32外部中断
STM32每个引脚都可以作为外部中断使用,1、代码外部中断初始化程序://外部中断服务程序void EXTI_Config(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource, uint32_t EXTI_Line, uint8_t NVIC_IRQChannel){ GPIO_InitTypeDef GPIO_InitStructure;原创 2017-12-21 13:52:37 · 689 阅读 · 0 评论 -
分别在IAR for STM32、IAR for STM8、MDK中重定向printf的方法
1、STM32在IAR中调用printf函数的一个方法原文地址:http://blog.sina.com.cn/s/blog_668bcb8f01018ect.html 在串口都配置好的情况下,在main.c文件中加入#include <stdio.h>#ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#el原创 2017-10-09 21:39:42 · 1999 阅读 · 0 评论 -
IAR常见错误记录
闲来无事,试着自己新建了一下IAR for STM32工程,期间出现一些警告,感觉还挺常见,网上搜索答案各不相同,在这里记录一下自己的解决方法,作为备忘。1、提示function ‘assert_param’ declared implicitly的警告和错误EG:Warning[Pe223]: function “assert_param” declared implicitly 这个问题原原创 2017-10-09 15:54:53 · 2416 阅读 · 0 评论 -
STM32使用JLINK或STLink下载程序需要用的的引脚
STM32最常见的两种下载程序的方法:STLink和JLINK。而官方买的STLink和JLINK引脚都特别多,大约好几十根引脚,特别占地方,而其中大部分引脚都是用不到的。所以在设计板子的时候,为了节省空间,其实只需要留下需要的引脚即可。下面则分别介绍这两种方式的实际使用到的引脚:1、STLINK方式下载程序STLINK用到的引脚如图所示:2、JLINK方式下载程序因为我现在没有用过Jlink,所以原创 2017-04-13 09:16:27 · 10593 阅读 · 2 评论 -
用VIM结合Keil(MDK)写STM32、C51等程序
【转载】话说这段时间经常用Keil写些东西,写C51的时候倒还好,写STM32的程序的时候,由于我是用的STM32的官方固件库,里面的各种标识符相当长- -看起来可读性是挺不错的,不过一个字母一个字母敲还是挺蛋疼的,于是准备用外部编辑器。好在Keil可以很方便的调用外部编辑器,具体方法是在Tool→Customize Tools Menu下面添加一个选项,名字随便输,最好加个(&X)在最后面(X可以转载 2017-03-03 14:36:03 · 2497 阅读 · 0 评论 -
MDK常见错误记录
本篇文章记录Keil相关的常见错误,以备后来碰到相同错误可以速查。1、.\Objects\stm32_test.axf: Error: L6200E: Symbol __Vectors_Size multiply defined (by startup_stm32f10x_ld.o and startup_stm32f10x_md.o).… 接近100个错误。看一下project中是不是把3种类型原创 2017-03-03 14:29:13 · 1537 阅读 · 2 评论 -
什么是嵌入式
什么是嵌入式?官方定义:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。。。。。卧槽??。。。What The Fuck!!。。看不懂。。。。算了,还是说下自己的理解吧。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190213214454196.jpg?x-oss-proces...原创 2019-02-13 21:50:06 · 2931 阅读 · 0 评论