博客园 - 果壳中的宇宙uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=16252012-11-27T10:54:01Z果壳中的宇宙https://www.cnblogs.com/TrueElement/feed.cnblogs.comhttps://www.cnblogs.com/TrueElement/archive/2012/11/27/2791302.html使用sprc097的DSP281x_usDelay.asm - 果壳中的宇宙在ti sprc097的example中,提供了一个us延时函数,其使用很简单,它的声明放在了DSP281x_Examples.h里面:#define CPU_RATE 6.667L // for a 150MHz CPU clock speed (SYSCLKOUT)// DO NOT MODIFY THIS LINE.#define DELAY_US(A) DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)ps:上面的CPU_RATE的值要与DSP281x_SysCtr.2012-11-27T10:51:00Z2012-11-27T10:51:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】在ti sprc097的example中,提供了一个us延时函数,其使用很简单,它的声明放在了DSP281x_Examples.h里面:#define CPU_RATE 6.667L // for a 150MHz CPU clock speed (SYSCLKOUT)// DO NOT MODIFY THIS LINE.#define DELAY_US(A) DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)ps:上面的CPU_RATE的值要与DSP281x_SysCtr. <a href="https://www.cnblogs.com/TrueElement/archive/2012/11/27/2791302.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/11/26/2789186.htmlDSP F2812的中断 - 果壳中的宇宙看了TI的文档:TMS321x281x DSP System Control and Interrupts Reference Guide,spru078b.pdf有一些心得:1、一个外设中断要到达CPU,让CPU处理,得经过许多道门PIEIER->(PIEACKx)->IER->INTM在CPU级别上面,有1个不可屏蔽中断(NMI),16个可屏蔽中断(INT1~INT14,RTOSINT和DLOGINT)。其中的INT1~INT12每个又通过PIE扩展出8个外设中断,所以外设中断可以有12*8=96个,F2812仅仅用了其中45个:2、关于中断嵌套,硬件上没直接支持,但软件2012-11-26T07:48:00Z2012-11-26T07:48:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】看了TI的文档:TMS321x281x DSP System Control and Interrupts Reference Guide,spru078b.pdf有一些心得:1、一个外设中断要到达CPU,让CPU处理,得经过许多道门PIEIER->(PIEACKx)->IER->INTM在CPU级别上面,有1个不可屏蔽中断(NMI),16个可屏蔽中断(INT1~INT14,RTOSINT和DLOGINT)。其中的INT1~INT12每个又通过PIE扩展出8个外设中断,所以外设中断可以有12*8=96个,F2812仅仅用了其中45个:2、关于中断嵌套,硬件上没直接支持,但软件 <a href="https://www.cnblogs.com/TrueElement/archive/2012/11/26/2789186.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/11/22/2782283.htmlC28x FIR - Filter 示例汇编代码解读 - 果壳中的宇宙SECTIONS{ D_LINE: align(256) { } > RAM PAGE 1 . . . }上面是cmd文件的配置,D_LINE用于保存FIR要处理的数据。由于使用了循环间接寻址(Circular Indirect Addressing Modes (XAR6, XAR1)),用XAR6来做数据指针,它指向的初始地址必须是256对齐的,即XAR6开始赋给它的指针低8位必须为0,(XAR6 points to the current address in the buffer. The top of the buffer must be at an address ...2012-11-22T03:31:00Z2012-11-22T03:31:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】SECTIONS{ D_LINE: align(256) { } > RAM PAGE 1 . . . }上面是cmd文件的配置,D_LINE用于保存FIR要处理的数据。由于使用了循环间接寻址(Circular Indirect Addressing Modes (XAR6, XAR1)),用XAR6来做数据指针,它指向的初始地址必须是256对齐的,即XAR6开始赋给它的指针低8位必须为0,(XAR6 points to the current address in the buffer. The top of the buffer must be at an address ... <a href="https://www.cnblogs.com/TrueElement/archive/2012/11/22/2782283.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/11/13/2768810.html高速PCB设计中电容的作用 - 果壳中的宇宙第一部分:电容的分类 电容在电路的设计中从应用上进行分类,可以将电容分为四类: 第一类: AC耦合电容。主要用于Ghz信号的交流耦合。 第二类: 退耦电容。主要用于保持滤除高速电路板的电源或地的噪声。 第三类: 有源或无源RC滤波或选频网络中用到的电容。 第四类: 模拟积分器和采样保持电路中用到的电容。 在本文中我们将主要讨论第二大类退耦电容。 电容从制造的材料和工艺进行分类,主要有以下不同形式的电容: 1、NPO陶瓷电容器 2、聚苯乙烯陶器电容器 3、聚丙烯电容器 4、聚四氟乙烯电容器 5、MOS电容器 6、聚碳酸酯电容器 7、聚脂电容器 8、单片陶瓷电容器...2012-11-13T13:21:00Z2012-11-13T13:21:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】第一部分:电容的分类 电容在电路的设计中从应用上进行分类,可以将电容分为四类: 第一类: AC耦合电容。主要用于Ghz信号的交流耦合。 第二类: 退耦电容。主要用于保持滤除高速电路板的电源或地的噪声。 第三类: 有源或无源RC滤波或选频网络中用到的电容。 第四类: 模拟积分器和采样保持电路中用到的电容。 在本文中我们将主要讨论第二大类退耦电容。 电容从制造的材料和工艺进行分类,主要有以下不同形式的电容: 1、NPO陶瓷电容器 2、聚苯乙烯陶器电容器 3、聚丙烯电容器 4、聚四氟乙烯电容器 5、MOS电容器 6、聚碳酸酯电容器 7、聚脂电容器 8、单片陶瓷电容器... <a href="https://www.cnblogs.com/TrueElement/archive/2012/11/13/2768810.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/11/13/2768707.html转:电容的ESR是什么意思 - 果壳中的宇宙ESR,是Equivalent Series Resistance三个单词的缩写,翻译过来就是“等效串连电阻”。 理论上,一个完美的电容,自身不会产生任何能量损失,但是实际上,因为制造电容的材料有电阻,电容的绝缘介质有损耗,各种原因导致电容变得不“完美”。这个损耗在外部,表现为就像一个电阻跟电容串连在一起,所以就起了个名字叫做“等效串连电阻”。 ESR的出现导致电容的行为背离了原始的定义。 比如,我们认为电容上面电压不能突变,当突然对电容施加一个电流,电容因为自身充电,电压会从0开始上升。但是有了ESR,电阻自身会产生一个 压降,这就导致了电容器两端的电压会产生突变。无疑的,这会降低...2012-11-13T12:09:00Z2012-11-13T12:09:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】ESR,是Equivalent Series Resistance三个单词的缩写,翻译过来就是“等效串连电阻”。 理论上,一个完美的电容,自身不会产生任何能量损失,但是实际上,因为制造电容的材料有电阻,电容的绝缘介质有损耗,各种原因导致电容变得不“完美”。这个损耗在外部,表现为就像一个电阻跟电容串连在一起,所以就起了个名字叫做“等效串连电阻”。 ESR的出现导致电容的行为背离了原始的定义。 比如,我们认为电容上面电压不能突变,当突然对电容施加一个电流,电容因为自身充电,电压会从0开始上升。但是有了ESR,电阻自身会产生一个 压降,这就导致了电容器两端的电压会产生突变。无疑的,这会降低... <a href="https://www.cnblogs.com/TrueElement/archive/2012/11/13/2768707.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/18/2691170.html解决win7 seed-xdsusb2.0 无法安装驱动问题 - 果壳中的宇宙问题: 前些日子闻亭的DSP仿真器坏了,幸好还有一个合众达的,型号为seed-xdsusb2.0,下了Drivers For CCS3.3的驱动。按照说明,接上仿真器,发现新硬件,但是奇怪的是浏览到安装目录,竟然说找不到兼容的驱动程序,换了USB口还是一样。 后来找了另一台电脑,是台式机,也是win7的系统,安装正常。就怀疑是笔记本usb接口供电不足,但是在自己笔记本上面用xp,也可以正常安装;又去了别人的win7笔记本试了一下,可以,所以排除了这个问题,那么只剩下一个可能了:我安装的win7系统有问题,可能少了某些文件,也许重装系统可以解决。但是又感觉重装好麻烦,好多软件要安装。解决过程:.2012-09-18T11:03:00Z2012-09-18T11:03:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】问题: 前些日子闻亭的DSP仿真器坏了,幸好还有一个合众达的,型号为seed-xdsusb2.0,下了Drivers For CCS3.3的驱动。按照说明,接上仿真器,发现新硬件,但是奇怪的是浏览到安装目录,竟然说找不到兼容的驱动程序,换了USB口还是一样。 后来找了另一台电脑,是台式机,也是win7的系统,安装正常。就怀疑是笔记本usb接口供电不足,但是在自己笔记本上面用xp,也可以正常安装;又去了别人的win7笔记本试了一下,可以,所以排除了这个问题,那么只剩下一个可能了:我安装的win7系统有问题,可能少了某些文件,也许重装系统可以解决。但是又感觉重装好麻烦,好多软件要安装。解决过程:. <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/18/2691170.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/16/2687795.htmlUSB学习杂记 - 果壳中的宇宙1、高速及全速设备的上拉电阻在D+上面,低速设备的上拉电阻在D-上面;高速模式在连接上了之后,要将D+上的上拉电阻断开。2、用于USB OTG的MINI USB接口有5条线,多了一条ID线,用于标识身份(主机还是从机)。3、低速和全速模式中,采用的是电压传输模式,高速模式下,采用的是电流传输模式。4、理论上,一个USB主控器最多可接127个设备,因为协议规定每个设备具有一个7bit的地址,0地址保留给未初始化的设备使用。5、USB是一主多从结构,USB的数据传输都是主机发起的。6、USB1.1协议定义的的标准描述符有设备描述符(Device Descriptor)、配置描述符(Configur2012-09-16T12:15:00Z2012-09-16T12:15:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】1、高速及全速设备的上拉电阻在D+上面,低速设备的上拉电阻在D-上面;高速模式在连接上了之后,要将D+上的上拉电阻断开。2、用于USB OTG的MINI USB接口有5条线,多了一条ID线,用于标识身份(主机还是从机)。3、低速和全速模式中,采用的是电压传输模式,高速模式下,采用的是电流传输模式。4、理论上,一个USB主控器最多可接127个设备,因为协议规定每个设备具有一个7bit的地址,0地址保留给未初始化的设备使用。5、USB是一主多从结构,USB的数据传输都是主机发起的。6、USB1.1协议定义的的标准描述符有设备描述符(Device Descriptor)、配置描述符(Configur <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/16/2687795.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/16/2687593.htmlSTM32的USART DMA传输 - 果壳中的宇宙问题描述: 我有一个需求,AD采得一定数目的数据之后,由串口DMA发出,由于AD使用双缓冲,所以每次开始DMA的时候都需要重新设置开始的内存地址以及传输的数目(这些都是理所当然的),但是在开始调试的时候,遇到了一些问题,问题如下:当第一次DMA传输完毕,关闭DMA以设置内存地址等,再开启DMA,发现不启动了。 开始是参考了《STM32中文参考手册REV10》,里面的发送步骤如下:1. 在DMA控制寄存器上将USART_DR寄存器地址配置成DMA传输的目的地址。在每个TXE事件后,数据将被传送到这个地址。2. 在DMA控制寄存器上将存储器地址配置成DMA传输的源地址。在每个TXE事件后,将从此存2012-09-16T08:11:00Z2012-09-16T08:11:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】问题描述: 我有一个需求,AD采得一定数目的数据之后,由串口DMA发出,由于AD使用双缓冲,所以每次开始DMA的时候都需要重新设置开始的内存地址以及传输的数目(这些都是理所当然的),但是在开始调试的时候,遇到了一些问题,问题如下:当第一次DMA传输完毕,关闭DMA以设置内存地址等,再开启DMA,发现不启动了。 开始是参考了《STM32中文参考手册REV10》,里面的发送步骤如下:1. 在DMA控制寄存器上将USART_DR寄存器地址配置成DMA传输的目的地址。在每个TXE事件后,数据将被传送到这个地址。2. 在DMA控制寄存器上将存储器地址配置成DMA传输的源地址。在每个TXE事件后,将从此存 <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/16/2687593.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/16/2687212.htmlSTM32之Bit-Banding - 果壳中的宇宙用了不少芯片,就只有51有位操作,这个特性很喜欢,赋值简单、效率又高且节省内存,不必为了一个bool去分配一个uint8.发现stm32有Bit-Banding,就试了一下,用MDK-ARM环境下的汇编代码做了一些比较。操作,清零USART1的SR寄存器的TC位:方法一://利用USART_TypeDef这个结构寻到SR的地址,再赋值USART1->SR &= ~(1<<6);其汇编代码(-level 0)如下:用了7条指令。方法二:直接用SR的地址操作:*(__IO uint32_t *) 0x40013800 &= ~(1<<6);汇编如下:可2012-09-16T01:06:00Z2012-09-16T01:06:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】用了不少芯片,就只有51有位操作,这个特性很喜欢,赋值简单、效率又高且节省内存,不必为了一个bool去分配一个uint8.发现stm32有Bit-Banding,就试了一下,用MDK-ARM环境下的汇编代码做了一些比较。操作,清零USART1的SR寄存器的TC位:方法一://利用USART_TypeDef这个结构寻到SR的地址,再赋值USART1->SR &= ~(1<<6);其汇编代码(-level 0)如下:用了7条指令。方法二:直接用SR的地址操作:*(__IO uint32_t *) 0x40013800 &= ~(1<<6);汇编如下:可 <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/16/2687212.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/14/2685493.html关于PL2303芯片 - 果壳中的宇宙这几天调试STM32,开发板上STM32的串口是通过PL2303转USB连接电脑的。STM32F103xB的datasheet上说上面的3个串口,其中一个最高可达4.5M,其他可达到2.25M。One of the USART interfaces is able to communicate at speeds of up to 4.5 Mbit/s. The other available interfaces communicate at up to 2.25 Mbit/s.但究竟是哪个能达到4.5M呢,没说;难道随便一个都可以,但只能一个达到4.5M?(2012年9月16日16:56.2012-09-14T12:24:00Z2012-09-14T12:24:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】这几天调试STM32,开发板上STM32的串口是通过PL2303转USB连接电脑的。STM32F103xB的datasheet上说上面的3个串口,其中一个最高可达4.5M,其他可达到2.25M。One of the USART interfaces is able to communicate at speeds of up to 4.5 Mbit/s. The other available interfaces communicate at up to 2.25 Mbit/s.但究竟是哪个能达到4.5M呢,没说;难道随便一个都可以,但只能一个达到4.5M?(2012年9月16日16:56. <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/14/2685493.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/14/2685119.htmlSTM32的SRAM调试的问题 - 果壳中的宇宙SRAM调试不用重复擦鞋flash,但是使用过程中也发现一些问题。例如时钟的设置只在第一次进入debug时是正确的,之后Reset再运行就不对了,看图:另外,关于SRAM的一个设置的解释:所以SRAM调试的时候,这两个勾不能够勾上。不明白的是,SRAM调试时,第一次DEBUG时,那个正确的时钟究竟是在什么时候设置的,我在system_stm32f10x.c设置时钟那里设置中断,但是好像没进去,没有触发中断。看来得再找找资料。2012-09-14T08:14:00Z2012-09-14T08:14:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】SRAM调试不用重复擦鞋flash,但是使用过程中也发现一些问题。例如时钟的设置只在第一次进入debug时是正确的,之后Reset再运行就不对了,看图:另外,关于SRAM的一个设置的解释:所以SRAM调试的时候,这两个勾不能够勾上。不明白的是,SRAM调试时,第一次DEBUG时,那个正确的时钟究竟是在什么时候设置的,我在system_stm32f10x.c设置时钟那里设置中断,但是好像没进去,没有触发中断。看来得再找找资料。 <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/14/2685119.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/14/2684298.htmlSTM32的USART - 果壳中的宇宙几个问题:1、状态寄存器(USART_SR)中的TC(Transmission complete)何时置位?它和TXE(Transmit data register empty,发送数据寄存器空)有何区别?可以先看看下面的图:根据上面的图,TC置位的条件就是在上一个字节发完之后,数据寄存器仍为空(TXE=1)。USART_DR中的数据,只要移位寄存器把上一字节发完,马上就可以移入移位寄存器,而USART_DR可以装入新的数据。2、波特率(Baud)的设置从手册知道,stm32的串口可以设置分数波特率,可以从APB时钟得到精确的波特率。查看标准库(v3.5)的设置波特率的部分函数,这种设置的方法2012-09-14T00:51:00Z2012-09-14T00:51:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】几个问题:1、状态寄存器(USART_SR)中的TC(Transmission complete)何时置位?它和TXE(Transmit data register empty,发送数据寄存器空)有何区别?可以先看看下面的图:根据上面的图,TC置位的条件就是在上一个字节发完之后,数据寄存器仍为空(TXE=1)。USART_DR中的数据,只要移位寄存器把上一字节发完,马上就可以移入移位寄存器,而USART_DR可以装入新的数据。2、波特率(Baud)的设置从手册知道,stm32的串口可以设置分数波特率,可以从APB时钟得到精确的波特率。查看标准库(v3.5)的设置波特率的部分函数,这种设置的方法 <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/14/2684298.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/13/2683644.htmlSTM32的DMA - 果壳中的宇宙1、DMA的中断标志需要软件手动清除,即使你启用了中断,也不会硬件清除的,可以:DMA_ClearITPendingBit(DMA_IT_HT);//清楚传输过半中断标志DMA_ClearITPendingBit(DMA_IT_TC);2、觉得的这个传输过半中断很好用,可实现类似双缓存功能,即把内存区设置为要传输的字节数(例如串口传输)的两倍,DMA填满一半了,启用(串口)传输,DMA完成了,再传DMA内存区的后一半。2012-09-13T08:58:00Z2012-09-13T08:58:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】1、DMA的中断标志需要软件手动清除,即使你启用了中断,也不会硬件清除的,可以:DMA_ClearITPendingBit(DMA_IT_HT);//清楚传输过半中断标志DMA_ClearITPendingBit(DMA_IT_TC);2、觉得的这个传输过半中断很好用,可实现类似双缓存功能,即把内存区设置为要传输的字节数(例如串口传输)的两倍,DMA填满一半了,启用(串口)传输,DMA完成了,再传DMA内存区的后一半。 <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/13/2683644.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/13/2683540.htmlSTM32的同步规则模式使用 - 果壳中的宇宙由于要采集电压、电流以计算功率、阻抗等信息,STM32的同步规则模式很适合于这种情景。使用时有几点需要注意的:1、选择正确的模式:ADC_Mode_RegSimult,即DUALMOD[3:0] = 0110,ADC2在双模式中,这些位为保留位2、开启ADC的DMA,在双ADC模式里,为了在主数据寄存器上读取从转换数据,必须使能DMA位,即使不使用DMA传输规则通道数据。只有ADC1和ADC3能产生DMA请求。所以只需设置ADC1的DMA:ADC_DMACmd(ADC1, ENABLE);3、ADC2的转换数据存在ADC1_DR的高半字;4、不要在2个ADC上转换相同的通道((两个ADC在同.2012-09-13T08:12:00Z2012-09-13T08:12:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】由于要采集电压、电流以计算功率、阻抗等信息,STM32的同步规则模式很适合于这种情景。使用时有几点需要注意的:1、选择正确的模式:ADC_Mode_RegSimult,即DUALMOD[3:0] = 0110,ADC2在双模式中,这些位为保留位2、开启ADC的DMA,在双ADC模式里,为了在主数据寄存器上读取从转换数据,必须使能DMA位,即使不使用DMA传输规则通道数据。只有ADC1和ADC3能产生DMA请求。所以只需设置ADC1的DMA:ADC_DMACmd(ADC1, ENABLE);3、ADC2的转换数据存在ADC1_DR的高半字;4、不要在2个ADC上转换相同的通道((两个ADC在同. <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/13/2683540.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/12/2682394.html转:关于启动文件分析的(MDK-ARM) - 果壳中的宇宙;******************** (C) COPYRIGHT 2010 STMicroelectronics ********************;* File Name : startup_stm32f10x_hd.s;* Author : MCD Application Team;* Version : V3.4.0;* Date : 10/15/2010;* Description : STM32F10x High Density Devices vector tabl...2012-09-12T13:07:00Z2012-09-12T13:07:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】;******************** (C) COPYRIGHT 2010 STMicroelectronics ********************;* File Name : startup_stm32f10x_hd.s;* Author : MCD Application Team;* Version : V3.4.0;* Date : 10/15/2010;* Description : STM32F10x High Density Devices vector tabl... <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/12/2682394.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/12/2682371.htmlSTM32文档中关于NVIC寄存器说明的位置 - 果壳中的宇宙要使用STM32,需要各种文档,其中有(以STM32F103RBT6为例):st官方资源地址:http://www.st.com/internet/mcu/product/164487.jsp1、datasheet:http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00161566.pdf2、REFERENCE MANUALS:http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFE2012-09-12T12:53:00Z2012-09-12T12:53:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】要使用STM32,需要各种文档,其中有(以STM32F103RBT6为例):st官方资源地址:http://www.st.com/internet/mcu/product/164487.jsp1、datasheet:http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00161566.pdf2、REFERENCE MANUALS:http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFE <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/12/2682371.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/12/2681532.html记录一下eclipse的使用技巧及快捷键 - 果壳中的宇宙ctrl+/:选中多行之后,按此组合键可以添加“//”这种风格的注释,如果你想使用的快捷键的注释是/**/的话,那么你的快捷键是ctrl+shift+/ctrl+shift+F:自动对齐其他的Ctrl+shift+L需要的时候再看看好了2012-09-12T03:55:00Z2012-09-12T03:55:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】ctrl+/:选中多行之后,按此组合键可以添加“//”这种风格的注释,如果你想使用的快捷键的注释是/**/的话,那么你的快捷键是ctrl+shift+/ctrl+shift+F:自动对齐其他的Ctrl+shift+L需要的时候再看看好了 <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/12/2681532.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/11/2680863.htmlSTM32的SRAM调试 - 果壳中的宇宙据说Flash的擦写次数是有限的,所以在调试的时候擦来擦去不好,看到boot0、boot1可以配置从SRam启动,就查了相关资料,试了一下,ok了。记录一下,免得以后又忘了。跟flash调试部分相同的就不再描述了,重点在于SRam调试的设置部分,大部分以图片形式。Dbg_RAM.ini(D:\Keil\ARM\Boards\Keil\MCBSTM32\Blinky下面有一个,其实MCBSTM32目录下的都一样的,只要有)的内容:/*---------------------------------------------------------------------------- * Na.2012-09-11T13:41:00Z2012-09-11T13:41:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】据说Flash的擦写次数是有限的,所以在调试的时候擦来擦去不好,看到boot0、boot1可以配置从SRam启动,就查了相关资料,试了一下,ok了。记录一下,免得以后又忘了。跟flash调试部分相同的就不再描述了,重点在于SRam调试的设置部分,大部分以图片形式。Dbg_RAM.ini(D:\Keil\ARM\Boards\Keil\MCBSTM32\Blinky下面有一个,其实MCBSTM32目录下的都一样的,只要有)的内容:/*---------------------------------------------------------------------------- * Na. <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/11/2680863.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/08/2677010.htmlSTM32标准外设库中的Example阅读 - 果壳中的宇宙试着申请首页,看看这类内容在blogcn的关注程度,呵呵system_stm32f10x.cSystemInit():在"startup_stm32f10x_xx.s"文件中被调用,功能是设置系统时钟(包括时钟源,PLL系数,AHB/APBx的预分频系数还有flash的设定),这个函数会在系统复位之后首先被执行。默认的一些设置:允许HSE(外部时钟),FLASH(允许预取缓冲区,设置2个等待周期),PLL系数为9,开启PLL并选择PLL输出作为时钟源(SYSCLK),后续设置SYSCLK = HCLK = APB2 = 72MHz,APB1 = HCLK/2 = 36MHz2012-09-08T13:14:00Z2012-09-08T13:14:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】试着申请首页,看看这类内容在blogcn的关注程度,呵呵system_stm32f10x.cSystemInit():在"startup_stm32f10x_xx.s"文件中被调用,功能是设置系统时钟(包括时钟源,PLL系数,AHB/APBx的预分频系数还有flash的设定),这个函数会在系统复位之后首先被执行。默认的一些设置:允许HSE(外部时钟),FLASH(允许预取缓冲区,设置2个等待周期),PLL系数为9,开启PLL并选择PLL输出作为时钟源(SYSCLK),后续设置SYSCLK = HCLK = APB2 = 72MHz,APB1 = HCLK/2 = 36MHz <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/08/2677010.html" target="_blank">阅读全文</a>https://www.cnblogs.com/TrueElement/archive/2012/09/06/2673208.htmlSTM32标准外设库中USE_STDPERIPH_DRIVER, STM32F10X_MD的含义 - 果壳中的宇宙在项目中使用stm32标准外设库(STM32F10x Standard Peripherals Library)的时候,我们会在项目的选项中预定义两个宏定义:USE_STDPERIPH_DRIVER, STM32F10X_MD,如下图:这两个的作用是什么呢?1、 USE_STDPERIPH_DRIVER : to use or not the peripheral’s drivers in application code (i.e. code will be based on direct access to peripheral’s registers rather than drive.2012-09-06T04:04:00Z2012-09-06T04:04:00Z果壳中的宇宙https://www.cnblogs.com/TrueElement/【摘要】在项目中使用stm32标准外设库(STM32F10x Standard Peripherals Library)的时候,我们会在项目的选项中预定义两个宏定义:USE_STDPERIPH_DRIVER, STM32F10X_MD,如下图:这两个的作用是什么呢?1、 USE_STDPERIPH_DRIVER : to use or not the peripheral’s drivers in application code (i.e. code will be based on direct access to peripheral’s registers rather than drive. <a href="https://www.cnblogs.com/TrueElement/archive/2012/09/06/2673208.html" target="_blank">阅读全文</a>