-
我发现开发板上的BOOT0要经过一个10K的电阻接地或者3.3V,为什么要这么大的电阻?
-
本人是水平一般,,所以特别喜欢用库
-
好像是IAR的BUG,我换了个版本的IAR,就OK乐
-
引用:
你的程序里面是怎么设置的啊?是不是初始化P2口有问题啊?
都是按照要求设置的呀P2DIR,P2IES,P2IE,以及总的中断打开
-
谢谢版主答复。ADC自效准后,读出效准值,不同启动确实存在1个字的不同,对于我28V测量范围 28/4095=7mV左右的偏差,符合问题表现。目前我的解决是根据每次的ADC自效准值进行补偿修正。实质上是弃用了stm32内部的ADC效准
-
算st狠! 给个尺寸 直接在洞洞板上做一个.主要是两排插针间距离是2.54的倍数么
ilovezeno 发表于 2010-8-31 15:43
-
我试过将摄像头中取到320*240的图像变成640*480的,我觉得这个不仅我们的程序改,关键要看驱动支持不支持了~~你也可以先看看驱动支持哪些格式的
-
1. WinCE6.0 的 Emulator 是执行 ARMV4 的 machine code, 所以执行每一道 instruction 都要转码成 x86, 故其效能当然会比较差, 但好处是可将 arm 的 native code 直接在 Emulator 上执行.
2. wince6.0 其 memory architecture 做了非常大的改变, 将 kernel, file system, device driver & gwes 全放进了 kernel space, 故其效能应有所改善
3. PXA270, 其 memory access timing 设定在 5.0 与 6.0 中有所不同, 不知 lz 说速度明显慢很多指的是哪一类的操作, 是 gwes, 还是.....
Paul, Chao @ Techware
-
恭喜楼主了~!!!
-
哦看错是求开方的幂次数,这个也不需要库就可以实现的。
math.h 里有自然对数的函数 log(double) logf(float) log10(double) logf(float),求底为2的对数可以用对数公式转换一下:
log((double)x)/log(2.0)
注意返回类型是 double。
没有直接求底为2的对数函数。
如果只是整数的话可以自己写算法:
int log2(int x){
if(!x||(x&(x-1)))return -1; //不是2的幂
int ret = 0;
while(!(x&1)){ ++ret; x>>=1; }
return ret;
}
-
他不是说不能用mfc吗
http://blog.eeworld.net/panyc33/archive/2009/12/18/5030191.aspx
-
以前用NXP的ARM都是ZLG给的例子
-
引用 4 楼 tcdzyq 的回复:
引用楼主 kangyonghui 的回复://***************开机显示 00-00-00 ************* void init () { ? ? ? ? ? P2=0x80; ? P0=table[0]; ? delay(5); ? P2=0x40; ? P0=table[1]; ? delay(5); ? P2=0x20; ? P0=table[2]; ? delay(5); ? P2=0x10; ? P0=table[3]; ? delay(5); ? P2=0x08; ? P0=table[4]; ? delay(5); ? P2=0x04; ? P0=table[5]; ? delay(5); ? P2=0x02; ? P0=table[6]; ? delay(5); ? P2=0x01; ? P0=table[7]; ? delay(5); }
用for循环就可以实现了.
C/C++ codevoid init()
{
uchar i;for(i=0;i
-
楼主头大
-
-
我最近在调2407的AD,但AD就是不工作,进不了中断,不知为什么,这个问题一直困扰我,如果你知道,请指导一下,我QQ:305259825
我程序如下:
#include "lf2407reg.h"
int Data[20]; /* 定义一个数组,用于存放AD转换的结果*/
int i=0,k=0x00,j=0;
void initalcpu() /*系统初始化子程序*/
{
asm(" setc SXM "); /*符号位扩展有效*/
asm(" clrc OVM "); /*累加器中结果正常溢出*/
asm(" clrc CNF "); /*B0被配置为数据存储空间*/
*SCSR1=0X00FD; /*CLKIN=10M,CLKOUT=4*CLKIN=40M*/
*WDCR=0XE8; /*禁止看门狗*/
*IMR=0X0005; /*允许INT3 、INT1中断*/
*IFR=0X003F;
/*清除全部中断标志,"写1清0"*/
}
void timer4inital()
{
*T4CNT=0X0000; /*T4计数器清0*/
*T4CON=0X110C; /*T4为连续曾计数模式,4分频,且选用内部时钟源*/
*T4PR=5; /*500ns*/
*GPTCONB=0X4400;
*EVBIMRB=0X0001; /*T4寄存器周期使能*/
*EVBIFRB=0X003F; /*清除EVB中断标志,写"1"清"0"*/
}
void ADCinital()
{
*ADCTRL1=0X4910; /*启动停止、级联模式、ADC高级优先,采样频率设定为2M*/
*ADCTRL2=0X8400;
*MAXCONV=0X0000; /*选择0通道*/
*CHSELSEQ1=0X0000;
*CHSELSEQ2=0X0000;
*CHSELSEQ3=0X0000;
*CHSELSEQ4=0X0000;
}
void timer4SOC()
{
*T4CON=(*T4CON)|0X0040; /*启动定时器4*/
}
void interrupt adint()
{
asm(" setc INTM"); /* 关总中断*/
asm(" CLRC SXM");
Data=(*RESULT0)>>6; /*取AD转换结果*/
i++;
*T4CNT=0X0000; /*T4定时器清0*/
*EVBIFRB|=0X0001; /*定时器中断标志清0(写1清0)*/
*ADCTRL2|=0X4200; /*复位SEQ1,且清除ADC中断标志INTFLAGSEQ1,写1清0*/
asm(" clrc INTM"); /*开总中断*/
}
void interrupt nothing()
{
asm(" clrc INTM"); /*开总中断,因为一进中断,总中断就关掉了*/
return;
}
void cleardata() /*清存转换结果的数组*/
{
for(k=0;k<20;k++)
Data[k]=0;
}
main()
{
asm(" setc INTM");
initalcpu();
ADCinital();
timer4inital();
cleardata();
asm(" clrc INTM");
timer4SOC();
while(1)
{
if(i==20) /*输入的是100K的正弦波,采集完20个点就跳出*/
break;
}
}
-
帮顶下,
MARK.
-
"通过NAND FLASH烧写vivi,"
这话说的??
哦,我试过用SFJ烧vivi到2410中是可以在串口中看到信息的,但是打开DNW,也接上USB线,还有串口线。DNW上没有任何输出。
我也同问下,各位妙手仁心的高手们指点下我们啊
-
我现在对这个中断已经很困惑了!不知道是怎么样一个流程!
-
参考这个帖子吧。
“http://topic.eeworld.net/u/20091022/15/2d132b93-998d-44f4-90d4-b95ad294bc71.html”