-
程序有点问题,勾选16进制显示复选框时接收到16进制数据不正确,在MSComm_OnComm() 事件中Call hexReceive 前面加上 MSComm.InputMode = comInputModeBinary就好了
-
keilk 中添加STC头文件
你先添加STC.CBD文件试试https://home.eeworld.com.cn/forum.php?mod=attachment&aid=MTgzMjUzfGQ0ZWIyMmU3NDU4ZjJjNzFkN2RlODQxOWQzMzY0YmZhfDE3MzQ1NjI5MDU%3D&request=yes&_f=.rar
-
1322685712 发表于 2014-9-9 09:28
虽然我昨晚仿真好了 ,但是你回答的太完美了 谢了 哈哈
不用客气
-
学习一下
-
你需要改两个地方:
1、uint a,b,c,d,e,VOL;改为uint a,b,c,d,e,VOL 因为要显示5v,uchar型范围不够,超过2.55V就显示不正常
2、VOL=a*500/256;改为VOL=a*1.0/256*500;这个应该是和分辨率有关,ADC0808是8位并行,分辨率就是1/256.
另外,仿真电路中ADC0808的输出顺序和标号是相反的,不是1对1,而是1对8。改过后就能正常显示
-
我也正在学32,看的刘凯老师的视频,共同学习。共同进步
-
学习一下
-
正在学习STM32,学习一下
-
我把一个系统盘改名成英文盘,软件全装在上面。没出什么问题
-
是计数啊,怎么写成定时器的方式了
-
学习了,还没考虑这么多。只知道用定时器方式2精度高。没注意其他问题
-
看看,了解一下
-
读和写之间要有5ms延时的
-
感谢楼主
-
了解一下
-
monk2014 发表于 2014-3-20 09:49
这个是看郭天祥视频的I2C代码(郭天祥的十天学会单片机)
郭天祥的这个程序没错,你得看着IIC写数据的时序图想程序的流程。写一个8位字节的流程是:假如temp=0x01=0000 0001
进入for循环,i=0;temp先左移1位,变成0000 0010 拉低SCL,延时,temp最高位进入CY。
CY把读取的temp最高位赋给SDA。这个操作在SCL上升沿进行。然后拉高SCL写入最高位。
返回for循环
i=1;temp=0000 0100
i=2;temp=0000 1000
i=3;temp=0001 0000
i=4;temp=0010 0000
i=5;temp=0100 0000
i=6;temp=1000 0000
i=7;temp=0000 0000 原来最低位的1移入到CY,到此temp的8位数据全部写入。
跳出for循环,拉低SCL,拉高SDA。准备应答。应答时序是SCL高电平,SDA低电平。
-
-
真是第一次听说
-
void nRF905_Config()
{
uchar i;
CSN=0;
spi_Write(WC);
for(i=0;i
-
可以到STC官网上找,有个AT24C04的程序,那个程序是页写入的