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