- 博客(21)
- 资源 (5)
- 收藏
- 关注
转载 堆和栈
一、预备知识―程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) ― 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态
2013-08-21 09:01:45 651
转载 模电与爱情,人生的故事
初恋的男生的心就像个最简单的信号放大器,女生控制着输入端。你一个最微小的快乐信号都能给他带来极大的幸福感,同样,你不小心的小伤害也会被他单纯的放大成无比伤痛。但是,男生不会一直这么蠢,当你和他越来越接近时,他慢慢就会给自己加上滤波器,当你们结婚后,他没准还会给你加上负反馈。 热恋中的女生的心就像被加了一个差动放大器,男朋友的一切优点都被当成差模信号被放大,而他
2013-11-16 09:01:42 2718
转载 CODE RO RW ZI
一直以来对于ARM体系 中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该 有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。要了解RO,RW和ZI需要首先了解以下知识:ARM程序的组成此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而
2013-09-11 16:04:29 728
原创 电路设计——电容设计
电解电容器一般都有很大的电容量和很大的等效串联电感。由于它的谐振频率很低,所以只能使用在低频滤波上。钽电容器一般都有较大电容量和较小等效串联电感,因而它的谐振频率会高于电解电容器,并能使用在中高频滤波上。瓷片电容器电容量和等效串联电感一般都很小,因而它的谐振频率远高于电解电容器和钽电容器,所以能使用在高频滤波和旁路电路上。由于小电容量瓷片电容器的谐振频率会比大电容量瓷片电容器的谐振频率
2013-07-09 16:27:14 888
转载 STM32 启动代码 startup.c main函数之前解析
程序运行main函数之前解析//=====================================================================//TITLE:// main函数之前解析//Environment:// MDK 4.1//====================================
2013-04-10 19:13:54 2531
原创 STM32F2系列的EXTI使用
STM32F2系列的EXTI使用说明1. 外部中断事件线的映射140个GPIO连接到了16个外部中断/事件线,如下图所示:GPIO与外部中断/事件线关联图另外7个外部中断/事件线分别连接:EXTI Line 16:PVD输出;EXTI Line 17:RTC报警事件;EXTI Line 18:USB OTG FS唤醒事件;EXTI Line 1
2013-04-10 17:57:35 4218 3
转载 阻塞赋值和非阻塞赋值
在always语句块中,verilog语言支持两种类型的赋值:阻塞赋值和非阻塞赋值。阻塞赋值使用“=”语句;非阻塞赋值使用“位于begin/end块内的多条阻塞赋值语句是串行执行的,这一点同标准的程序设计语言是相同的。但是多条非阻塞赋值语句却是并行执行的,这些非阻塞赋值语句都会在其中任何一条语句执行完成之前开始执行。这正是硬件电路的特点,因为实际的逻辑门电路都是独立运转的,而不是等到其他门电路
2013-02-28 17:28:52 2616
转载 STM32的计数器的使用
因为用stm32f103c8作主控制器,来控制小车,小车的转速由两路光电编码盘输入(左右各一路).因此想到外部时钟触发模式(TIM——ETRClockMode2Config)。 可以试好好久,发现TIM1不能计数,到网上查了很久,也没有找到相关的文章,开始怀疑TIM1是不是需要特殊设置。经过很久的纠结,终于找到了问题——其实是我自己在GPIO设置的时候,后面的不小心覆盖了前面的了——没想
2012-12-10 10:21:47 9794 3
原创 MATLAB散点的曲线拟合
在数据处理中,经常会遇到通过传感器或者其他方式采集到离散的点阵,而我们需要从这些离散点阵中寻找一种对应关系,该关系最简单的方法就是通过MATLAB进行曲线拟合。1.使用polyfit进行线性拟合 列出散点分别赋值,如x=[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70];y=[0.16,0.16,0.18,0.18,0.24,0.23,0
2012-10-26 11:00:46 21981
原创 STM32F2xx的定时器的应用
定时器计数值的确定。 TIMER的时钟不是直接来源于APB1或者APB2,而是来自经过APB1或者APB2一个倍频器后的时钟。当APBx的预分频数为1时,这个倍频器不起作用,此时定时器的时钟频率等于APBx的频率;当APBx倍频数为其他数值时(即预分频数位2,4,8,16时),这个倍频数起作用,定时器时钟为APBx的两倍。例如AHB=60MHz,APB1为AHB的2分频,即为30MHz,
2012-06-06 11:46:09 6442
原创 基于STM32的Doxygen使用简明手册
基于STM32的Doxygen使用简明手册为了能使代码能够被Doxygen识别,必须遵循Doxygen的书写规则。注释必须以/**打头,以*/结束。一、添加类型1、 添加首页(mainpage):格式:/** \mainpage RIOM DSP Software Library * * Introduction * * This us
2012-05-21 09:44:11 2600
原创 STM32F2XX之RCC配置
一、 系统时钟配置STM32有多个时钟源,分别是HSI,HSE,LSE,LSI。HSI振荡器时钟:系统上电默认时钟,内部振荡器8MHZ,可以直接作为系统时钟或在2分频后作为PLL的输入。时钟频率精度较差。HSE振荡器时钟外部:提供非常精确的主时钟,STM32F1系列的板上为8MHZ,STM32F2系列的板上为25MHZ晶振。经过PLL倍频:作为系统时钟。PL
2012-05-12 08:26:49 4811
原创 STM32之ADC 一个8通道DMA程序
/******************************************************************************** Function Name : main* Description : Main program* Input : None* Output : None* Return
2012-05-10 17:03:14 2993
原创 STM32新建工程步骤
1、 新建工程,然后选择芯片型号。选定芯片后添加启动文件.s文件。2、 将文件添加组进行分类:其中包含ASM组、USR组、FWlib组合CMSYS组。l ASM组为.s启动文件;l USR组为用户程序文件组,一般至少需要有main.c,如需要使用中断,将stm32fxxx_it.c也放在该组中;l FWlib组为ST公司提供的官方库文件
2012-05-10 17:02:01 2021
原创 STM32F1系列之常用外设说明
1、RCC相关: APB2启动时钟项:RCC_APB2Periph_AFIO, RCC_APB2Periph_GPIOA, RCC_APB2Periph_GPIOB, RCC_APB2Periph_GPIOC, RCC_APB2Periph_GPIOD, RCC_APB2Periph_GPIOE, RCC_APB2Peri
2012-05-10 17:00:37 3124
原创 STM32F2系列外设设置规则
外设设置规则:在配置之前必须添加外设的.c文件,以及相应包含的.h。.h文件在stm32f2xx_conf.h中添加。1、 时钟设置:包括引脚时钟和外设时钟:RCC_XXXPeriphClockCmd();2、 引脚连接:即把引脚和外设功能进行连接;GPIO_PinAFConfig();如下功能需要引脚与外设连接。 * @arg GPIO_AF_RTC_5
2012-05-10 16:59:48 2991
原创 STM32F2系列之USART学习
F2系列USART初始化注意点:需要用到的外设文件有:stm32f2xx_usart.c; //串口相应函数stm32f2xx_gpio.c; //GPIO初始化stm32f2xx_rcc.c; //时钟初始化misc.c; //中断初始化初始化
2012-05-10 16:59:02 6572 1
原创 STM32之USART学习
USART初始化注意点:1、 系统时钟定义:RCC_Configuration();2、 中断源配置: NVIC_Configuration();举例:{NVIC_InitTypeDef NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0
2012-05-10 16:58:26 1065
原创 STM32F1系列之REMAP
REMAP用途:1 在RCC设置中开启RCC_APB2Periph_AFIO2 在GPIO中开启 remap的目标端口3 GPIO_PinRemapConfig(GPIO_XX,ENABLE); 举例:void GPIO_Configuration(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RC
2012-05-10 16:57:49 2824
原创 STM32之NVIC学习
NVIC_InitTypeDef NVIC_InitStructure; /* Configure the NVIC Preemption Priority Bits */ /* Configure one bit for preemption priority */ /* 优先级组说明了抢占优先级所用的位数,和子优先级所用的位数 在这里是1, 7 */ NVIC
2012-05-10 16:55:39 895
原创 STM32之ADC学习
配置ADC1、 系统时钟定义:RCC_Configuration();包涵: RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMAx, ENABLE); // Enable DMA clockRCC_APB2PeriphClockCmd(RCC_APB2Periph_ADCx , ENABLE); // Enable A
2012-05-10 16:54:54 2236
STM32的uCOS移植
2013-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人