
ARM
love33521
这个作者很懒,什么都没留下…
展开
-
STM32(Cortex-M3)中的优先级理解
很多人在配置STM32中断时对固件库中的这个函数NVIC_PriorityGroupConfig()——配置优先级分组方式,会很不理解,尤其是看中文翻译版的,因为中文翻译版里把这里翻译成“先占优先级和从优先级”这样翻译其实是不对的,很容易让人误解。为了便于大家理解,有必要先解释两个概念:抢占式优先级/响应优先级: STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和转载 2012-10-30 14:11:25 · 595 阅读 · 0 评论 -
stm32 ucos
毕业到现在都没有动过ucos了, 这段时间有点空,重新移植了一下,在stm32下。可以参考我的收藏和http://www.docin.com/p-528795528.html这篇文章,讲的都是非常的详细。出了点问题,就是要理清楚,如果在stm32f10x_it.h中的OS_CPU_PendSVHandler,如果使用os_cpu_a.asm中的定义的话,那么在中断函数的头文件中要屏蔽掉相应原创 2013-06-06 15:44:03 · 905 阅读 · 0 评论 -
stm32串口通讯
这两天在看stm32的串口通讯,其实很简单,但是头疼了很久。因为一个问题没有搞清楚,stm32的奇偶校验位问题。先看看奇偶检验的意思:串口通信中数据的奇偶校验位算法奇偶校验位是一个表示给定位数的二进制数中 1 的个数是奇数还是偶数的二进制数。奇偶校验位是最简单的错误检测码。奇偶校验位有两种类型:偶校验位与奇校验位。如果一组给定数据位中 1 的个数是奇数,那么偶校验位就置为 1,从而使得原创 2012-12-26 16:09:44 · 2257 阅读 · 0 评论 -
STM32之USB host库:USBH_Process学习理解
void USBH_Process(USB_OTG_CORE_HANDLE *pdev , USBH_HOST *phost){ volatile USBH_Status status = USBH_FAIL; if ((HCD_IsDeviceConnected(pdev) == 0)&& (phost->gState != HOST_IDLE)) // 若是转载 2013-01-23 17:11:21 · 18070 阅读 · 2 评论 -
USB host处理过程
在usbh_core.c中有一个函数USBH_Process(),这个函数很重要,main()函数每循环一次,它就执行一次,它处理所有USB内核状态的变化,typedef enum {HOST_IDLE =0,HOST_DEV_ATTACHED,HOST_DEV_DISCONNECTED, HOST_DETECT_DEVICE_SPEED,HOST_ENUMERAT转载 2013-01-23 17:12:15 · 12318 阅读 · 5 评论 -
关于STM32 PB3 PB4 如何设置成普通GPIO的配置
对于初学习者来说为什么用到PB3和PB4时无法控制输出呢?下面就这一问题进行分析讲解。首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些端口设置为普通I/O口。具体方法如下:在GPIO_Configuration(); // 配置使用的 GPIO 口:GPI转载 2012-12-17 16:31:29 · 23854 阅读 · 1 评论 -
STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK)
在STM32串口通信程序中使用printf发送数据,非常的方便。可在刚开始使用的时候总是遇到问题,常见的是硬件访真时无法进入main主函数,其实只要简单的配置一下就可以了。 下面就说一下使用printf需要做哪些配置。 有两种配置方法:一、对工程属性进行配置,详细步骤如下1、首先要在你的main 文件中 包含“stdio.h” (标准输入输出头文件)转载 2012-12-14 09:32:56 · 1236 阅读 · 0 评论 -
stm32使用库文件建立工程
这段时间在keil使用stm32都是直接使用的模板文件,今天试着自己建立个工程,将库文件复制进去,但是出了几个问题。1、error: #256: invalid redeclaration of type name "s32" 这是新旧库的区别。主要是问题出在stm32f10x_type.h stm32f10x.h这两个库文件。其中第一个是keil自带的stm32的库文件,是旧版原创 2012-12-06 17:20:20 · 1969 阅读 · 0 评论 -
stm32时钟
先来看看stm32f103的时钟树吧。这里牵涉到几个适中的概念。1、HSE时钟他是外部高速时钟信号。可以使用晶体或是陶瓷谐振器产生,也可以使用外部时钟。晶体可以通过RCC_CR中的HSEON位来启动和关闭。同时,RCC_CR中的HSERDY位用来指示高速外部振荡器是否稳定。在启动时,直到这一位被硬件置1,时钟才被释放出来。如果在时钟中断寄存器RCC_CIR中允许产生中断,将原创 2012-11-23 15:51:10 · 1665 阅读 · 0 评论 -
昨天jlink不能用了
昨天不知是什么缘故,jlink用着用着电脑不能识别了。我以为是驱动出了问题,所以有下载了一个新的jlink驱动。这下,电脑能够识别了,但是keil却找不到了jlink设备了。想了好久,后来发现,原来是没有将jlink中的两个文件拷贝至keil中。原创 2012-12-05 08:08:12 · 1221 阅读 · 0 评论 -
关于stm32中R15寄存器的理解
今天上午看《stm32权威指南》中关于R15寄存器中有些内容不理解,查了查资料,原来是这样。这里有一个别人的问题。我把Nor Flash里的一个函数代码数据(函数首地址是:0x6400EC10)拷贝到RAM的 0x2000FC00,然后把0x2000FC00加载给PC指针(为了让代码在RAM里运行),接着运行代码就出现了Hard Fault Exce原创 2012-11-19 10:30:16 · 6011 阅读 · 0 评论 -
关于arm 的字节对齐
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某转载 2012-11-19 10:14:41 · 2937 阅读 · 0 评论 -
STM32存储器 — <3> STM32实现IAP(上位机和IAP程序设计)
Notes Introduction本连载笔记,记录了在STM32学习中对存储器的理解;描述了STM32存储器的结构划分,以及STM32存储器相关知识,能够获得对存储器的整体性认识;并能够顺利的付诸实践,达到真正的对存储器的认识+应用。 本连载共有三篇笔记,分别是:《关于STM32的存储器》能够了解STM32的存储器结构,及其结构设计由来;转载 2012-11-14 11:51:51 · 5700 阅读 · 0 评论 -
STM32存储器 — <2>STM32存储器知识的相关应用(IAP、Bit Banding)
Notes Introduction本连载笔记,记录了在STM32学习中对存储器的理解;描述了STM32存储器的结构划分,以及STM32存储器相关知识,能够获得对存储器的整体性认识;并能够顺利的付诸实践,达到真正的对存储器的认识+应用。 本连载共有三篇笔记,分别是:《关于STM32的存储器》能够了解STM32的存储器结构,及其结构设计由来;转载 2012-11-14 11:50:41 · 1219 阅读 · 0 评论 -
STM32存储器 — <1> 关于STM32的存储器
Notes Introduction本连载笔记,记录了在STM32学习中对存储器的理解;描述了STM32存储器的结构划分,以及STM32存储器相关知识,能够获得对存储器的整体性认识;并能够顺利的付诸实践,达到真正的对存储器的认识+应用。 本连载共有三篇笔记,分别是:《关于STM32的存储器》能够了解STM32的存储器结构,及其结构设计由来;能转载 2012-11-14 11:49:13 · 1523 阅读 · 1 评论 -
STM32时钟配置
在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。①HSI是高速内部时钟,RC振荡器,频率为8MHz。②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③LSI是低速内部时钟,RC振荡器,频率为40kHz。④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。⑤PLL为锁相环倍频输转载 2013-09-28 13:56:12 · 1173 阅读 · 0 评论