-
唉,不知道207的FSMC是不是和103一样的慢!
-
版主,你到是说说上面程序配置有没有问题呀?
-
我的EEPROM的驱动文件部分的代码都在上面了,红色句就是编译不过的。
-
这个问题其实很容易解释:
用malloc,new这样的函数分配的内存都是在进程的缺省heap上的。系统缺省的heap是不会也不应该在调用free或者delete的时候释放实际内存空间的,它只是将这段空间释放出来供应用程序以后使用。也就是说这里的heap是进程自己管理的一块内存块,所有的申请和释放都是这块内存块内部的管理。如果里面的空间不够了,那么它会继续申请实际的内存。如果里面的空间多了,那么它不会减少实际的内存,而只是预留在哪里给以后用。
知道了这一特性以后,你就可以有针对性地使用了。建立自己的heap是一种手段(HeapCreate),自己申请实际内存自己管理也行(VirtualAlloc),本质上这和使用heap没有区别,或者你也可以用shared memory(CreateFilemapping).
-
外环输出要限制在内环的最大参考值之内,再要注意串级控制主副回路的带宽配合即可
-
纠正楼上一个概念,78、79系列不是LDO,是普通的线性稳压器,和LDO的电路原理有差别,具体的说,就是调整管的输出方式不同。你可以查一下78系列和其它LDO的内部电路即刻明白。
78、79要获得好的性能,要保证输入输出压差大于3V,否则纹波、负载效应等指标均会恶化。而LDO在压差不足1V都可以工作,付出的代价是负载效应较差。
-
估计是内存对齐方式不同,可取消其内存对齐,:#pargma pack(1)
-
接分................
-
stm的网上好像有
-
to 成成
谢谢~~~~~~~
-
对栈的设置也要改一下
-
考虑了一下,使用STM32 的任意一个定时器都可以实现楼主的要求。
基本设置如下:
1)配置定时器的计数器为中间对齐计数,即先向上计数再向下计数。
2)在该定时器上选择2个通道,并分别配置为输出比较模式,并配置在比较成功时翻转对应的引脚输出。
3)配置自动重装载寄存器TIMx_ARR为要求输出频率的一半。
4)假定CC1为第一个输出信号的通道,再假定第一个信号的正脉冲宽度对应为W1,则配置TIMx_CCR1为TIMx_ARR-W1/2。
5) 同4),假定CC2为第二个输出信号的通道,正脉冲宽度对应为W2,配置TIMx_CCR2为W2/2。
----------------------------------------------
下面以一个例子说明:
假设要求输出的信号频率为10kHz,占空比为1:3。
再假设定时器的输入时钟为72MHz。
输出信号的频率10kHz,换算为计数器的数值为7200。
按照上述3),设置TIMx_ARR=3600
输出信号1的高电平时间W1,换算为计数器的数值为W1=7200/4=1800
按照上述4),设置TIMx_CC1=3600 - W1/2=2700
输出信号2的高电平时间W2,换算为计数器的数值为W2=7200/4=1800
按照上述5),设置TIMx_CC2=2/2=450
参照下图,图中红线表示计数器的数值变化:
①当计数器的数值从0向上计数,达到TIMx_CC1时,CC1匹配成功,CC1的输出电平翻转;
②计数器继续向上计数,达到TIMx_ARR时开始调头向下计数;当计数器的数值下降到TIMx_CC1时,CC1再次匹配成功,CC1的输出电平再次翻转;
③计数器继续向下计数,达到到TIMx_CC2时,CC2匹配成功,CC2的输出电平翻转;
④计数器继续向下计数,减到0时开始调头向上计数;当计数器的数值上升到TIMx_CC2时,CC2再次匹配成功,CC2的输出电平再次翻转;
如此循环,得到连续的相位互为180度的两路输出波形。
注意:上述描述是一个原理性的说明,但能够输出要求的波形并且占空比可调,实际编程计算中需要可能需要对某些数值加1或者减1,以达到准确地输出。
STM32_Outout_180degree.gif
(16.46 KB)
下载次数:6
2009-12-28 16:18
-
知道寄存器的地址,直接赋值即可。
当然,大多数的做法是定义一个和该寄存器位宽相同的指针,操作该寄存器的时候就当成普通的指针来操作其内容。
-
调整探头的位置或者增加几个探头取平均值。
或者用热量平衡的算法去估计加热时间。
-
顶一个。
-
帮顶。。。。。
-
慢慢来嘛
-
没有你的硬件连接图,不确认你那个结构体那样用能正常typedef struct
{
vu16 LCD_REG;
vu16 LCD_RAM;
} LCD_TypeDef;
#define LCD_BASE ((u32)(0x60000000 | 0x00020000))
#define LCD ((LCD_TypeDef *) LCD_BASE)复制代码这样算
LCD_REG 的地址是0x60020000
LCD_RAM 的地址是0x60020002
不知道C/D是连接的地址线几?
-
这个模块一般般. 功能与其他专门的PWM比。距离还是~~~
-
44b0太老了,都停产好多年了