-
第二个图还来了两个AIN4??
103K4_adc1.JPG
(75.96 KB)
下载次数:0
2011-1-13 13:39
103K4_adc2.JPG
(45.33 KB)
下载次数:1
2011-1-13 13:39
-
大家共同进步,呵呵
-
北航的嵌入式培训不错,建议去看看。
-
一般都是根据引用lib的路径,
还有BSP 是可以自己修改的嘛,各家稍有差异正常,比如人家在OEMIteeruputEnable 函数实现了,也可以,或者去写个函数被OEMIteeruputEnable调用实现也是同样的道理嘛,
我是这么理解的,不知道是否对了。
-
东西买齐,自己做一个撒 ,当然先要学习学习,对这有个基本的了解,根据原理图自己做是可以的。我学不久,自己做了个,呵呵
-
To Huntercao:
是的
-
组件叫什么名字 啊
-
我的意思是先测量出信号的频率(虽然精度不够),再改变TIM频率以提高精度。
因为改变TIM时钟频率再次测量,并不需要花很长时间,不影响外部信号的改变,只要外部信号保持3个周期不变即可。如果外部信号不能在3个周期内保持不变,你的测量意义也就不大了。
-
kyzf,今天我到电子城买了一块24BIT4.3寸的液晶,不过它的背光是20伏的,现在的液晶背光主流电压是多少啊,我指的是手持设备
-
先把时间调得跟电脑一样吧。
-
您好,不知道前面各位的问题解了没,你们说的问题小弟并不太懂,但我们目前是divacom在中国区域的总代理,从03年来一直专注于做DM9161及DIVACOM全线产品,通过我们可以找到原厂的工程师做技术支持,当然,是免费提供的,说不定我能帮得上大家的忙,以下是我的联系方式 QQ:1259987438 电话:027-8765163610 (0)13554272382 王洪武
-
引用 2 楼 ruritanian 的回复:
首先,你这么写肯定是不对的,既然有%x,%d,又不加参数,那肯定会输出未定义的值。
如果你一定要追究为什么,其实看一下汇编就知道了:
va_start(ap,fmt);
? 00011024: E28D3E11 add? ? ? ? r3, sp, #0x11, 28 //r3=sp+0x110
? 00011028: E2833004 add? ? ? ? r3, r3, #4? ? ? ? //r3=r3+4?
? 0001102C: E58D3100 str? ? ? ? r3, [sp, #0x100]? //[sp+0x100]=r3 => ap=r3
vsprintf(string,fmt,ap);
? 00011030: E59D2100 ldr? ? ? ? r2, [sp, #0x100]? //r2=[sp+0x100] => r2=ap
? 00011034: E59D1110 ldr? ? ? ? r1, [sp, #0x110]? //r1=[sp+0x110] => r1=fmt
? 00011038: E28D0000 add? ? ? ? r0, sp, #0? ? ? ? //r0 =sp? ? ? ? => r0= str?
? 0001103C: EB000229 bl? ? ? ? ? vsprintf
所以vsprintf的第三个参数ap是传入的fmt+sizeof(fmt)的地址,由于fmt在栈上的位置已经固定了,而栈是从高到低的,所以fmt+sizeof(fmt)的值虽然是未定义的,实际上也是固定的值。
这是反汇编出来的嘛?注释那么详细,佩服!
-
MAX7310
-
找个道士画个付贴上去
-
异常在recv的地方
//接收服务器端数据
BOOL CTCPClientSync::RevData(char* buff,int length,int* revLen)
{
if (buff==NULL)
{
ASSERT(0);
return -1;
}
//接收数据
int len=0;
len = recv(m_socket,buff, length,0);
if (len == SOCKET_ERROR || len == 0 )
{
return FALSE;
}
if (buff[0]!=0&&buff[1]!=0)
{
int error = GetLastError();
}
if (revLen!=NULL)*revLen=len;
return TRUE;
}
if (buff[0]!=0&&buff[1]!=0)
{
int error = GetLastError();
}
在这个地方发现接收下来的recv是一大堆的乱码,我的包头的前两位是00
-
关注,前段时间刚刚把24位深的bmp文件给转换成可以放到framebuffer里的数据,呵呵
-
引用 3 楼 yimanet 的回复:
我的理解是:BSP是硬件厂商提供的(例如:板子上集成一个无线网卡的芯片,芯片厂家提供BSP,最多我们根据BSP再开发驱动),而驱动程序是我们自己为适应不同的操作系统定制的(或者硬件厂家提供)!我们需要做得是在操作系统定制时将厂家提供或者自己写的驱动程序编译到系统内核中就可以了(不需要BSP),并将BSP烧写到板子的ROM中,不知道我理解的对不对???
楼主对BSP的理解是错误的,添加的驱动程序都是在BSP中的,不要BSP包系统肯定跑不起来
-
5系列FLASH几个注意的问题。
1、因为IAR编译器默认的指针长度为16位的,所以当出现MSP430X的时候,访问64K之外的FLASH地址就不现实了。于是,需要把在工程选项中修改为大模式数据模式,这样指针的长度就是32位的。
2、中断服务程序必须在64K之内,当然中断服务程序之内,可以去调用定位在64K之外的子函数
3.无故复位 要查看自己的程序框架 注意一点 不要让编译器把main函数入口定位在大于65535否认地址
-
帮顶,也在做gprs,等高手来回答
-
我觉得在哪好像差别不是太大,也就是说:如果(K!= 0xFF), 那么后面EA=1,这时又会不断进入中断!只有当按键释放掉之后才会退出中断。这样处理中断不大妥当吧。FYI。