![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM
fushiqianxun
这个作者很懒,什么都没留下…
展开
-
STM32系列微控制器开发工具与应用——keil
STM32微处理器基于ARM核,所以很多基于ARM嵌入式开发环境都可用于STM32开发平台。开发工具都可用于STM32开发。选择合适的开发环境可以加快开发进度,节省开发成本。本章将先对STM32常用的开发工具Keil MDK和IAR EWARM进行简单介绍,然后结合STM32_SK仿真评估板和STM32F103C的开发板讲解STM32片上资源使用,最后给出一个基于STM32的数据采集器的应用实例。转载 2012-08-30 15:10:08 · 3464 阅读 · 0 评论 -
STM32为什么必须先配置时钟再配置GPIO
所有寄存器都需要时钟才能配置吧,寄存器是由D触发器组成的,只有送来了时钟,触发器才能被改写值。任何MCU的任何外设都需要有时钟,8051也是如此;STM32为了让用户更好地掌握功耗,对每个外设的时钟都设置了开关,让用户可以精确地控制,关闭不需要的设备,达到节省供电的目的。51单片机不用配置IO时钟,只是因为默认使用同一个时钟,这样是方便,但是这样的话功耗就降低不了。例如原创 2012-08-30 18:41:35 · 13848 阅读 · 4 评论 -
关于STM32头文件包含出现No such file or directory和 invalid redeclaration of type name...的问题
用keil sdk编译STM32的程序时出现“.\inc\stm32f10x_conf.h(21): error: #5: cannot open source input file "stm32f10x_type.h": No such file or directory”类似的问题,说明没有搜到此头文件,如果是用双引号 “ ” 包含的头文件,则问题肯定出在没有把此头文件放在工程文件夹内原创 2012-08-30 23:01:50 · 28071 阅读 · 2 评论 -
STM32常见错误
一、 在“Debug选项卡”下设置好仿真器的类型后,下载程序时却提示“No ULINK Device found.” 解决办法: Keil MDK默认使用ULINK仿真器下载程序,在“Utilities选项卡”下把编程所使用的仿真器改为相应的类型即可。 二、 编译工程时提示如下信息: main.axf: Error: L6218E: Undefined symbol转载 2012-09-06 17:13:12 · 2001 阅读 · 0 评论 -
实现STM32 Flash的读写
写flash FLASH_UnlockBank1();FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);FLASHStatus = FLASH_ErasePage(BANK1_WRITE_START_ADDR);//BANK1_WRITE_START_ADDR 要擦除的页起始地址Addr转载 2012-09-11 14:24:14 · 1542 阅读 · 0 评论 -
STM32 APB1和APB2的区别
APB2负责AD,I/O,高级TIM,串口1。APB1负责DA,USB,SPI,I2C,CAN,串口2345,普通TIM转载 2012-09-11 14:25:27 · 21618 阅读 · 2 评论 -
STM32出现HardFault_Handler故障的原因及处理方法整理
STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。 出现问题时排查的方法:1、发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R1转载 2012-11-11 20:54:57 · 2803 阅读 · 0 评论