⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serial.c

📁 avr单片机操控ks0108c图形点阵液晶屏代码
💻 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 + -