突然袭击,10万火急,毕业设计问题(100分)

  • 主题发起人 主题发起人 千中元
  • 开始时间 开始时间

千中元

Unregistered / Unconfirmed
GUEST, unregistred user!

我的天,本来是合作做毕业设计,可再过两天答辩了,
我的合伙人说没有做他应该做的那部分!!!!
其实就是把缓冲里的数据读到数据库里.
现在我不清楚char 是个什么数据类型了:(,----老师说那是2进制的数,
比如00111100,然后到数据库里的时候要转化成10进制。什么函数能把char转换成10进制?下面是读串口的代码。在timer的事件里:
procedure TForm1.Timer1Timer(Sender: TObject);
var
Clear:Boolean;
Coms:Tcomstat;
cbNum,ReadNumber,lpErrors:Dword;
Read_Buffer:array[1..256]of char;
begin
Clear:=Clearcommerror(hcom,lpErrors,@Coms);

if Clear then
begin
cbNum:=Coms.cbInQue;

ReadFile(hCom,Read_Buffer,cbNum,ReadNumber,lpol);

//向数据库追加,数据的value 赋予一个变量,用append就可以了。
//这里调用一个追加到数据库的函数
purgecomm(hcom,PURGE_TXCLEAR);
purgecomm(hcom,PURGE_RXCLEAR);
end;
能给出向数据库追加另加100分

 
integer
ord
其他不知道
 
>>现在我不清楚char 是个什么数据类型了:(,----老师说那是2进制的数,
????
你问的是Ord函数? 呵呵,另外2进制与10进制有区别吗?
 
从串口读取的数据最好直接用 Byte 型。寸入数据库的时候可能会非常方便。
 
2->10? 什么意思? 不会是让你转换成BCD码吧?
 
现在我要设计数据库,字段显示的应该是10进制,integer.每次
读过串口,增加了256条记录。缓冲里没数据也读---现在不可能有
数据进入串口----没那设备,但我还得照有数据来读。
六神无主
 
转化前是char - > Integer?没看明白题目
也许要自己写函数了:(
可怜的老千,我还以为你不作毕业设计了呢:)不过这次好像是老千比较大方的一次提问8=}
 
byte('A')=65;
 
现在关键问题是你的程序在和那种设备进行通信,数据类型的使用
应当根据通信协议来进行确定.串口接收到的数据肯定是BYTE型,不
可能是0101010之类的二进制,更不用做什麽BCD码转换.
你现在的问题不在于串口读写,而在于数据如何进行解释.
提到没有设备还有数据,可以试一试设置串口忽略NULL字符.
 
收到的是ASC码的二进制形式,应该将它们转换成ANSI码,另外,假如说
你下位机的A/D芯片是10位的,那么A/D输入端的电压数据(十进制)就是:
5除以2的十次方再乘以你收到的值
做硬件答辨应该很容易的,论文要写好。。。论文写完了没,要不要邦你敲?
 
到答辩的时候也没有模数转换设备。但不能让数据库空。
-----理由是不能别人看不到缓冲里是什么东东
我彻底晕,老师不知道怎么想的---本来没有数据,看什么西西?
另外我对byte数据类型也不怎么理解。存到paradox数据库的时候,byte类型存入的字段应该是什么?
 
:oicq到别的地方可以“漫游”:)
 
你的题目要说得详细一点。。干脆把你的老师的题目提出来不就得了?
看得我都一愣一愣的。。
 
千中元:
收到你的信了,怎么是一堆乱码,上一封也是。你是不是问这个问题?你的问题是数据的转
换,我觉的,首先,数据缓冲区用字符数组是可以的,我还见有人用string的,但是用Pchar
可能会好些:
var PostedBytes:Pchar;
begin
...
PostedBytes:=Pchar(LocalAlloc(LPTR,SizeofBuffer+1);
Move(InputBuffer^,PostedByte^,SizeofBuffer);//inputBuffer是输入缓冲区
PostedBytes[SizeofBuffer]:=#0;
...
end;
用Byte表示不行的,因为在内存中,都是以01存放的,比如00H,声明为char,它就是null,声明成
int,它就是0.所以声明为char/pchar,读出来的就直接是字符了。
未尾加#0是为了转成ansi字符型式。
这些数据如何转成输入端的电压形式?这要看你下位机的设备类型,象我上面的那个式子,一
个简单的比例关系
这些问题你老师一定很了解,你应该去问问他,我好久没弄单片机了,可能有不对的
地方请指正
 
我看了半天不知你们讲些什么?不知问题到底是什么?
 
hexi:
因为你好9没来了,世界变化快啊
 
唉,你这毕业设计搞的真窝囊。
另外问一下,你搭档没做,他拿什么毕业?
 
老兄:
真的要将2to10,底层用汇编,存入数据库?对应一个字段付值不就行了,我编过自动控制系统与底层接口,没你说的麻烦吧!
 
最后答辩的日子到了。我们抽签决定谁上去,考,我自己作的签,最后我抽到了:(
pipi,
我们答辩的开场白是:
我代表我们小组.......
现在艰苦的航程已经结束
分等我走之前再发吧.呵呵
 
后退
顶部