![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 81
小栎
从事软件开发
展开
-
关于协议栈XDATA,内存溢出的小结
【第二部分的内容仅供参考,自己不是十分确定】****************************************************************************************************************************************************************************转载 2015-08-13 11:32:58 · 1556 阅读 · 0 评论 -
详解SPI中的极性CPOL和相位CPHA
详解SPI中的极性CPOL和相位CPHA SPI由于接口相对简单(只需要4根线),用途算是比较广泛,主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。即一个SPI的Master通过SPI与一个从设备,即上述的那些Flash,ADC等,进行通讯。而主从设备之间通过SPI进行通讯,首先要保证两者之间时钟SCLK要一致,互相要转载 2016-07-12 10:14:06 · 723 阅读 · 0 评论 -
STM32启动文件详解及SystemInit函数分析(转)
;先在RAM中分配系统使用的栈,RAM的起始地址为0x2000_0000;然后在RAM中分配变量使用的堆;然后在CODE区(flash)分配中断向量表,flash的起始地址为0x0800_0000,该中断向量表就从这个起始地址开始分配;分配完成后,再定义和实现相应的中断函数,;所有的中断函数全部带有[weak]特性,即弱定义,如果编译器发现在别处文件中定义了同名函数,在链接时用别处的地址进原创 2016-07-12 09:45:45 · 1843 阅读 · 0 评论 -
上拉下拉电阻总结
一、定义:上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!下拉同理!上拉是对器件注入电流,下拉是输出电流;弱强只是上拉电阻的阻值不同,没有什么严格区分;对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。二、上下拉电阻作用:1、提高电压准位: a.当TTL电路转载 2016-05-10 16:49:33 · 930 阅读 · 0 评论 -
STM32中的PWM的频率和占空比的设置
网上看到一篇文章,不是很完整,但是有助于我理解,个人觉得还可以,具体的代码,网上有很多,大家可以参考参考计算一下。下面的这个是stm32的定时器逻辑图,上来有助于理解:TIM3的ARR寄存器和PSC寄存器,确定PWM频率。这里配置的这两个定时器确定了PWM的频率,我的理解是:PWM的周期(频率)就是ARR寄存器值与PSC寄存器值相乘得来,但不是简转载 2016-03-03 16:16:38 · 10603 阅读 · 2 评论 -
C/C++ Volatile关键词深度剖析
背景前几天,发了一条如下的微博 (关于C/C++ Volatile关键词的使用建议): 此微博,引发了朋友们的大量讨论:赞同者有之;批评者有之;当然,更多的朋友,是希望我能更详细的解读C/C++ Volatile关键词,来佐证我的微博观点。而这,正是我写这篇博文的初衷:本文,将详细分析C/C++ Volatile关键词的功能 (有多种功能)、Volati转载 2016-01-18 14:53:12 · 412 阅读 · 0 评论 -
Linux下的USB总线驱动(一)
版权所有,转载请说明转自 http://my.csdn.net/weiqing1981127 一.USB理论1. USB概念概述USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB) USB2.0版本速度480Mbps(高速USB)USB驱动由USB主机控制器驱动和USB设备驱动组成。USB主机控制器原创 2015-08-19 09:55:37 · 546 阅读 · 0 评论 -
USB 3.0 开发要点
最近在公司里安排了我一个新的任务,那就是USB3.0的研发。对于我之前都是做ARM+LINUX和单片机软件研发的来说,虽然之前都是做驱动程序和应用程序,但是没有做与USB 相关的开发,毕竟这是第一次。还好都是用C/C++来进行嵌入式软件开发。所以一切进行比较顺利。其实,USB 3.0来说,虽然现在还没有广泛普及,但是我们几年后就会随处可见。想像一下,现在USB 2.0的高速模式才是480M转载 2015-08-31 15:16:45 · 770 阅读 · 1 评论 -
CYPEESS USB3.0程序解读之---同步FIFO(slaveFifoSync)
上一篇文章解读了CYPRESS FX3的GPIO的操作过程,下面解读同步FIFO的一个例子(slaveFifoSync)。*生产者,消费者。1、首先看DMA的回调函数(cyu3dma.h):typedef void (*CyU3PDmaCallback_t) ( CyU3PDmaChannel *handle, /* Handle to the DMA ch转载 2015-08-31 15:19:20 · 1532 阅读 · 0 评论 -
CYPEESS USB3.0程序解读之---GPIO
CPRESS 官方给出的SDK1.1中(目前最新的SDK),提供了大量的例程供我们开发软件的时候作参考,就像STM32的开发一样提供了库一样,但是又不是库,仅仅是参考例程。首先看一个简单一点的GPIO的例子(GpioApp) 1.先是一个错误处理的函数,我们不需要它,故这是一个死循环。 2. CyFxDebugInit 这个函数,将串口作为调试口用1转载 2015-08-31 15:18:32 · 944 阅读 · 0 评论 -
CYPEESS USB3.0程序解读之---SPI读写
前面已经解读了GPIO以及同步FIFO操作,下面我们看一个SPI读写的例子,它是主程序命令从SPI中读写一些数据。SPI传输子程序看一下: 页地址,字节计数,缓冲区,读写标志因为只能一页一页的读或写,故读写总是从页地址开始的/* SPI read / writefor programmer application. */CyU3PReturnStatus_t转载 2015-08-31 15:20:55 · 772 阅读 · 0 评论 -
关于stm32 HardFault_Handler 异常的处理 死机
在系统开发的时候,出现了HardFault_Handler硬件异常,也就是死机,尤其是对于调用了os的一系统,程序量大,检测堆栈溢出,以及数组溢出等,找了半天发现什么都没有的情况下,估计想死的心都有了。如果有些程序开始的时候一切没有问题,但是运行几个小时候,会发现死机了,搞个几天下来估计蛋都碎了一地吧。。。一般来说运行操作系统 是以下几个问题1.开始的时候给ucos分配的堆栈太小转载 2016-07-02 14:37:56 · 4075 阅读 · 0 评论