📄 serial.c
字号:
#include "ks0108.h"
#include "board.h"
#include "KS0108.h"
#include <iom8v.h>
#include "init.h"
#include <macros.h>
void putchar(char data){
while(!(UCSRA & (1<<UDRE)));
UDR = data;
}
char kbhit(void){
if((UCSRA & (1<<RXC ))) return 0x55;
else return 0x00;
}
char getchar(void){
while((UCSRA & (1<<RXC )) ==0);
return UDR;
//}
//else return 0;
}
void printf(char *p){
//CLI();
while(*p !=0x00){
putchar(*(p++));
}
//SEI();
}
/*============================================================================*/
/*名称: SendHex (int hex) */
/*功能: 从串口设备发送Hex */
/*入口参数: 无 */
/*出口参数: 读出的数据 */
/*============================================================================*/
void sendhex (int hex) {
if (hex > 9) putchar('A' + (hex - 10));
else putchar('0' + hex);
}
/***********************************************************************/
/*名称:sendhexstr */
/*功能:发送hex字符串 */
/*入口参数:no */
/*出口参数:1 正确提供,2 ID不正确 0失败 */
/***********************************************************************/
#if SEND_HEX_STR16
void sendhexstr16(unsigned int Temp){
putchar('0');
putchar('x');
sendhex((Temp>>12)&0x0f);
sendhex((Temp>>8)&0x0f);
sendhex((Temp>>4)&0x0f);
sendhex(Temp&0x0f);
}
#endif
/***********************************************************************/
/*名称:sendhexstr */
/*功能:发送hex字符串 */
/*入口参数:no */
/*出口参数:1 正确提供,2 ID不正确 0失败 */
/***********************************************************************/
#define SEND_HEX_STR8 0
#if SEND_HEX_STR8
void sendhexstr8(unsigned char Temp){
//putchar('0');
//putchar('x');
sendhex((Temp>>4)&0x0f);
sendhex((Temp)&0x0f);
}
#endif
#define SEND_DEC_STR4 0
#if SEND_DEC_STR4
void IntToStr(u16 Value,u8 *Buf){
Buf[0] = (Value / 1000) + '0';
Buf[1] = (Value % 1000)/100 + '0';
Buf[2] = ((Value % 1000)%100)/10 + '0';
Buf[3] = ((Value % 1000)%100)%10 + '0';
}
/***********************************************************************/
/*名称:sendhexstr */
/*功能:发送hex字符串 */
/*入口参数:no */
/*出口参数:1 正确提供,2 ID不正确 0失败 */
/***********************************************************************/
void senddecstr4(u16 uValue){
unsigned char uStr[4];
IntToStr(uValue,uStr);
putchar(uStr[0]);
putchar(uStr[1]);
putchar(uStr[2]);
putchar(uStr[3]);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -