RS232传输问题

Home Home
引用 | 编辑 aniegg
2005-12-01 01:12
楼主
推文 x0
/* 用来计算 checksum 用的. 用简单的算法 */
unsigned char CalcChecksum(SEND_DATA *pData)
  {
    size_t n = 0;
    unsigned char cs = 0;
    for (; n < sizeof(pData->u.c); ++n)
    {
      cs += pData->u.c * n;
    ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 kevinliao
2005-12-01 08:10
1楼
  
你的程式看来怪怪的, 不能直接在 function 中用 SEND_DATA, 应该先宣告一个型别为 SEND_DATA 的变数. 再来 outportb 一次只能丢一个 byte 吧, 你可能也要 check 一下那边的逻辑. 程式想要正常运作不是只有编译成功就好了哟 表情

献花 x0
引用 | 编辑 aniegg
2005-12-01 11:19
2楼
  
要怎么宣告SEND_DATA的变数才能达到一次只能丢一个byte

献花 x0
引用 | 编辑 kennywj
2006-01-10 09:25
3楼
  
SEND_DATA a;
char *cp;

/*put what your float value in a*/

size = sizeof (SEND_DATA);
cp = (char *)&a;
for (i=0;i<size;i++)
{
  /* 透过RS232传送资料 */
  while ( (inportb(LSR)&0x40)!=0x40 )
    ;
  outportb(THR,*cp++);
}

献花 x0