-
纠结了很久,我放弃ST的硬件I2C了,说实话网上大师们的例程我都学习过,包括我自己也研究了很久,我的程序有时候也能够连续运行几天都不会死,但是一旦死掉了复位(复位I2C模块,或整机复位)都不能恢复,只能断电,我就有点怕了。
我其实也是st的忠实拥护者,从STM8到现在stm32,我已经用到很多项目上了,性价比确实不错。但是技术支持方面还是比较欠缺的,完全靠论坛的几个高人指点,反应速度慢,有时候也不一定真正能解决问题。
FAE动不动就程序有问题,在这里我请问一下:作为芯片的研发者,ST自己提供的例程尚且不能够正常运行,你如何要求使用者写出没有问题的程序?你也许会说,那只是参考例程,但是你想过没有,如果不是你的数据手册有问题或芯片有问题,至于你的参考也那么失水准吗?
-
我是和板子脱离 单接的4根线
-
是该改进改进,这种提示的确让人不知道错在哪
-
写的不错,楼主辛苦了
-
顶起,慢慢学习
-
去看 BT 手册吧, 它的编程与MFC没有什么关系
-
UCHAR keyScan()
{
void delay(UINT);
UCHAR xTemp, yTemp, readKey, reReadKey;
keyFlag = 0; //扫描按键前清除按键标记
xTemp = (P3 = 0x0f) & 0x0f; //获取低四位的值,即矩阵键盘的行值
if(xTemp == 0x0f) //无按下键
return 0xff;
yTemp = (P3 = 0xf0) & 0xf0; //获取高四位的值,即矩阵键盘的列值
readKey = xTemp | yTemp;
delay(5); //延时后再测
xTemp = (P3 = 0x0f) & 0x0f; //获取低四位的值,即矩阵键盘的行值
if(xTemp == 0x0f) //无按下键
return 0xff;
yTemp = (P3 = 0xf0) & 0xf0; //获取高四位的值,即矩阵键盘的列值
reReadKey = xTemp | yTemp;
if(reReadKey == readKey)
{
keyFlag = 1;
return readKey;
}
}[
复制代码
另外,我想问下这段程序是否有问题。。怎么我下载到实验板上去了按下键没反应。我用的实验板是郭祥的十天学会单片机里的TX-1实验板。下面这段程序下载到实验板上按下键盘就有反应。
void keyScan()
{
void delay(UINT);
UCHAR temp, i;
for(i = 0; i < 4; i++)
{
switch(i)
{
case 0: P3 = 0xfe;break;
case 1: P3 = 0xfd;break;
case 2: P3 = 0xfb;break;
case 3: P3 = 0xf7;break;
}
if((P3 & 0xf0) != 0xf0)
{
delay(5);
if((P3 & 0xf0) != 0xf0)
{
temp = P3;
switch(temp)
{
case key1: number = 1;break;
case key2: number = 4;break;
case key3: number = 9;break;
case key4: number = 16;break;
case key5: number = 25;break;
case key6: number = 36;break;
case key7: number = 49;break;
case key8: number = 64;break;
case key9: number = 81;break;
case key10: number = 100;break;
case key11: number = 121;break;
case key12: number = 144;break;
case key13: number = 169;break;
case key14: number = 196;break;
case key15: number = 225;break;
case key16: number = 256;break;
}
while(P3 & 0xf0 != 0xf0)
;
}
}
}
}
复制代码
-
楼主 到底是想 问ARM仿真器 还是ARM仿真机 ??
就当你问的是ARM仿真器吧?
现在的ARM7仿真器 都很便宜,淘宝上卖150左右的都很多。
至于ARM9或ARM11的仿真器 也有比较便宜的,楼主多去淘宝看看。
至于是否有必要买,则你开发中,是否需要仿真跟踪等,如果公司出钱,最好买个,开发方便。
-
引用 14 楼 kusheng176 的回复:
我的虚拟键盘就是一些BUTTON控件。当PC机接收到我发送的数据时,利用MScomm,来写响应代码就行了?
直接在接收响应里写东西就行了,就像单片机中的串口中断中写一样。
-
是,看不同厂家的,同样是2052,不同的公司,性能等就有不同.内部的硬件也有些多有些小的.
-
他们让我联系客服。
-
把 rc = sqlite3_open( filename, &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件 变成下面的:
#if defined(UNICODE) || defined(_UNICODE)
rc = sqlite3_open16( filename, &db);
#else
rc = sqlite3_open( filename, &db);
#endif
-
我 的 k变量在while循环里 从新开始循环时进行清零就可以了 可能是我没说明白让大家误解了
-
分、分、分。要分。。。
-
你认为wince驱动工程师
-
引用 4 楼 luixing67 的回复:
两年以上WINCE经验??
要底层还是应用,还是都可以
上面第一个是底层,第二个是应用的,呵呵。
-
没有啊
我们就是拿一个普通的GPIO实现,SD_WP,通过读取该GPIO对应的高低状态从而实现SD的写保护;
SD卡和TF卡,不同于MMC卡,它们本身没有写保护的,但是现在为了兼容驱动,一般都会拿一般GPIO来实现写保护,这是为了驱动的兼容MMC、SD、TF
楼主可以更换GPIO,但是得修改对应配置,另外注意该GPIO的上下拉,一般驱动是:
GPIO被上拉,则写保护。
-
可以,我用了stm32的I/O口模拟SPI的时序,DIO引脚我是对寄存器直接操作的,每次根据是输入还是输出重新配置I/O口。
-
学习模拟电子,数字电子
另外模电数电
需要长期的积累
经验是在你分析和设计
大量的实际电路之后
才能获得的
-
不好意思,这么长时间才回复,是自定义的一个类,显示区域设置成了480*272,所以超过的部分都会显示不正常。不是系统的问题。