#define
swap(x, y)
unsigned
char
printf_buffer[
50] =;
#define
mod(x, y) ((x) - (y) * ((unsigned long)(x) / (unsigned long)(y)))
unsigned
char
alphabet
= ;
void
number(unsigned
char
*dst, unsigned
long
*offset,
long
num,
intbase
)start =*
offset;
while
(num
>=0)
end =*
offset -1
;len
=((end
-start) +1
) /2;
for(i =0
; i
<
len; i++)
swap(dst
+start
+i, dst
+end
-i);
}int
myprintf(
const
char
*fmt, ...)
break
;default
:break;}
fmt++;}
else
}va_end(args);
printf_buffer[i++] =
'/0';
return
uart_send((
const
char
*)printf_buffer);}
uart_send 是串列埠驅動提供的傳送函式.
編譯器在呼叫函式的時候會把可變引數依次壓入fmt引數後面,va_start將args賦值為fmt後乙個位址,然後根據fmt裡面的描述在適當的時候,依次用va_arg取得可變引數並改變args的值使其指向下乙個引數的位址。
使用printf向串列埠輸出資料
引自 要在iar中使用printf向串列埠輸出資料,需要加入如下的函式原型,它的目的是將printf指向串列埠一這個裝置並向這個裝置輸出資料。ifdef gnuc with gcc raisonance,small printf option ld linker libraries small pr...
Ubuntu下面使用串列埠
首先安裝minicom,命令如下 sudo apt get install minicom我是使用的usb轉串列埠,在 dev目錄下面能夠找到ttyusb0,所以我啟動minicom的命令如下 sudo minicom d dev ttyusb0注意,這裡一定要使用sudo,否則會提示沒有許可權。進...
DSP串列埠通訊斷開連線
斷開握手協議實現結果 1 本身可以正常收發資料 2 當收到十六進製制的11時,則斷開通訊 3 直到收到十六進製制的aa時,又可以正常收發資料 include dsp2833x device.h include dsp2833x examples.h void scic init void unsig...