STM32
喵喵苗
嵌入式软件及硬件研发
展开
-
kile生成lib文件
今天同事向我询问原创 2014-06-09 16:51:53 · 539 阅读 · 0 评论 -
keil5不能识别自己写的头文件
keil5不能识别自己写的头文件 遇到这种情况是应为自己没有在编译器中告诉编译器你的头文件在哪个文件夹里造成的, SO 首先project–>option…..—>…在这里设置编译文件的文件夹 OK原创 2016-05-27 17:01:29 · 14720 阅读 · 1 评论 -
STM32F745VGT6使用SW模式下载程序
SW模式要接的引脚 JLINKV9 需要的硬件接口为: VCC, GND, SWDIO, SWDCLK (注:下面有我自己用JLINKV9的实际连线及相应实验结果) 关于是否要接上 Reset 引脚的问题 我测试时并没有接上 可以正常下载和调试 而且下载速度设置为 10Mhz 仍然没有问题速度的确快了很多 。原创 2016-05-26 10:23:32 · 1611 阅读 · 0 评论 -
STM32F407IG临时堆栈划分
今天调试STM32F407IG,发现编译器编译完成后占用RAM空间28K,但是在仿真的时候总是死或跳到内存错误的中断里死在那里。后来发现是在某个函数中开辟的临时变量过大,导致内存溢出,将下面红色字体把堆栈的空间划分的大一些就好了。startup_stm32f4xx.s; Amount of memory (in bytes) allocated for Stack; Tailo原创 2015-03-17 16:40:43 · 2212 阅读 · 0 评论 -
STM32学习记录14 ucosii中的串口中断
先看邵老师的书中怎么写里面写到:μC/OS中,中断服务子程序要用汇编语言来写。然而,如果用户使用的C语言编译器支持在线汇编语言的话,用户可以直接将中断服务子程序代码放在C语言的程序文件中。再看《M3权威指南》2.11.2节与9.11节中讲到Cortex-M3在进入异常时自动压栈。。。。返回时自动出栈,再也不需要汇编语言编写了。也就是说我们可以使用C语言来编写中断服务程序。并且省去了上面转载 2014-09-02 10:32:01 · 5962 阅读 · 0 评论 -
STM32F107的时钟设置由25M修改成8M
STM32的库函数好像只有外部8M倍频到72M,现在用的板子外部25M的晶振,如何倍频到72M呢?解决办法: STM32F107的时钟分4步的: 1> 25MHz先除5分频到5MHz; 2> 再8倍频到40MHz; 3> 再5分频到8MHz; 4> 再9倍频到72MHz. STM32F103和STM32F105/STM32F107的RCC设置是不原创 2014-08-19 13:26:33 · 7847 阅读 · 1 评论 -
UCOSII任务调度分析
忽略前期初始化等细节,从main()开始:/**************************************************************/int Main(int argc, char **argv){ ARMTargetInit();转载 2014-08-29 09:38:15 · 567 阅读 · 0 评论 -
STM32-------系统滴答定时器(systick)应用
1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。滴答中断?这里来简单地解释一下。操作系统进行运转的时候,也会有“心跳”。它会根据“心跳”的节拍来工作,把整个时间段分成很多小小的时间片,每个任务每次只能运行一个“时间片”的时间长度就得退出给别的任务运行,这样可以确保任何一个任务都不会霸占整个转载 2014-08-27 14:14:35 · 641 阅读 · 0 评论 -
ucOSII 学习之初识实时操作系统-时间管理
ucosII需要提供定时中断,以实现禅师和延时控制功能。这个定时中断叫做时钟节拍。时钟节拍的频率越高,系统的负荷越重。OSTimeTick()用于通知ucosII发生了时钟节拍中断。OSTimeDly()OSTimeDlyHMSM()OSTimeDlyResume()OSTimeGet()OSTimeSet()这些函数可以再OS_TIME.c文件中找到。必须通过OS_C转载 2014-08-23 15:15:19 · 1403 阅读 · 1 评论 -
int strncmp (const char *s1, const char *s2, size_t size) 函数 说明
功 能: 这个函数用来比较s1和s2字符串,这个函数将返回一个值, 它的符号与第一对不同的字符的比较结果相关。 如果两个字符串相等的话,strncmp将返回0。 如果s1是s2的一个子串的话,s1小于s2。此外还有,函数 int strncmp (const char *s1, const char *s2, size_t size) 此函数与strcmp极为类似。不同之处是,strncmp函数是原创 2014-08-22 14:50:13 · 2520 阅读 · 0 评论 -
c语言 __align(); #pragma pack(8) 数据对齐
1. 什么是字节对齐? 在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。 为了使CPU能够对变量进行快原创 2014-08-22 14:12:42 · 3777 阅读 · 0 评论 -
STM32时钟系统
在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。①HSI是高速内部时钟,RC振荡器,频率为8MHz。②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。③LSI是低速内部时钟,RC振荡器,频率为40kHz。④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。⑤PLL为锁相环倍频输出,其时钟输入源可选择原创 2014-08-19 13:17:49 · 828 阅读 · 0 评论 -
飞控信号SBUS信号解析为PWM信号输出
sbus原创 2016-05-27 09:39:29 · 11807 阅读 · 0 评论