📄 testzhi.c
字号:
#include <iom128.h>
#include "includes.h"
#include "myiom128.h"
#define u8 unsigned char
#define u16 unsigned int
#define CharBufferA 0x01
#define CharBufferB 0x02
#define model_buffer 0x03
#define CABLEENABLE() PORTE|=0x08//0b00001000
#define UARTRFDISENABLE() PORTE|=0x04//0b00000100
extern void led_flash() ;
extern u8 scan_final_key() ;
extern void lcd_1() ;
extern void display_line_5() ;
extern void display_line_6() ;
extern void lcd_upside_initialization() ;
extern void data_clear() ;
u8 acknowledge = 0x08 ;
u8 i , key , ack[35] ;
u8 templet_num_high , templet_num_low ;
/************************************* InitUART *************************************/
void InitUART( unsigned char baudrate )
{
CABLEENABLE() ;
UARTRFDISENABLE() ;
UBRR0L = baudrate; /* set the baud rate */
DDRB |= 0x01 ;
PORTB &= ~0x01;
UBRR0H = 0x00;
UCSR0B&= ~0x04 ; //SET BIT UCSZ02 = 0
UCSR0C = 0x06; // SET BITS UCSZ01,UCSZ00 = 1 , indicate transmit 8 bits data )
UCSR0B&= ~0x18; //disable RXEN0 , TXEN0
UCSR0A|= 0x02; //ENABLE U2X0
}
/************************************* TransmitByte *************************************/
void TransmitByte( unsigned char data )
{
UCSR0B|= 0x08; //enable TXEN0
UCSR0B&=~0x10; //disable RXEN0
while ( !(UCSR0A & (1<<UDRE0)) ); /* wait for empty transmit buffer */
UDR0 = data; /* start transmittion */
}
/************************************* receiveByte *************************************/
unsigned char receiveByte()
{
UCSR0B&=~0x08; //disable TXEN0
UCSR0B|= 0x10; //enable RXEN0
while ( !(UCSR0A & (1<<RXC0)));
return UDR0 ;
}
/*********************************** ack_bag_length_1 ***********************************/
u8 ack_bag_length_1()
{
u8 i , acknowledge ;
do
{
acknowledge = receiveByte() ;
}
while(acknowledge != 0x07) ;
for(i=0;i<6;i++)
{
receiveByte() ;
}
ack[0] = receiveByte() ; //确认码
receiveByte() ; //sum_h
receiveByte() ; //sum_l
receiveByte() ; //C0
return ack[0] ;
}
/*********************************** ack_bag_length_3 ***********************************/
u8 ack_bag_length_3()
{
u8 i;
do
{
ack[0] = receiveByte() ;
}
while(ack[0] != 0x07) ;
for(i=0;i<6;i++)
{
receiveByte() ;
}
ack[0] = receiveByte() ; //确认码
ack[1] = receiveByte() ; //p1
ack[2] = receiveByte() ; //p2
receiveByte() ; //sum_h
receiveByte() ; //sum_l
receiveByte() ; //C0
return ack[0] ;
}
/*********************************** ack_bag_length_6 ***********************************/
u8 ack_bag_length_6()
{
u8 i;
do
{
ack[0] = receiveByte() ;
}
while(ack[0] != 0x07) ;
for(i=0;i<6;i++)
{
receiveByte() ;
}
ack[0] = receiveByte() ; //确认码
ack[1] = receiveByte() ; //p1
ack[2] = receiveByte() ; //p1
ack[3] = receiveByte() ; //p3
ack[4] = receiveByte() ; //p4
ack[5] = receiveByte() ; //p5
receiveByte() ; //sum_h //p6
receiveByte() ; //sum_l
receiveByte() ; //C0
return ack[0] ;
}
/*********************************** ack_bag_length_33 ***********************************/
u8 ack_bag_length_33()
{
u8 i;
do
{
ack[0] = receiveByte() ;
}
while(ack[0] != 0x07) ;
for(i=0;i<6;i++)
{
receiveByte() ;
}
for(i=0;i<33;i++)
{
ack[i] = receiveByte() ;
}
receiveByte() ; //sum_h
receiveByte() ; //sum_l
receiveByte() ; //C0
return ack[0] ;
}
/*********************************** ack_bag_length_35 ***********************************/
u8 ack_bag_length_35()
{
u8 i;
do
{
ack[0] = receiveByte() ;
}
while(ack[0] != 0x07) ;
for(i=0;i<6;i++)
{
receiveByte() ;
}
for(i=0;i<35;i++)
{
ack[i] = receiveByte() ;
}
receiveByte() ; //sum_h
receiveByte() ; //sum_l
receiveByte() ; //C0
return ack[0] ;
}
/*********************************** command_bag_length_1 ***********************************/
void command_bag_length_1(u8 cmd)
{
u8 sum ;
u8 i,sum_h,sum_l ;
TransmitByte(0xC0) ;
TransmitByte(0x01) ;
for(i=0;i<4;i++)
{
TransmitByte(0x00) ;
}
TransmitByte(0x00) ;
TransmitByte(0x01) ;
TransmitByte(cmd) ;
sum = 0x01 + cmd ;
sum_h = sum>>8 ;
sum_l = sum&0xff ;
TransmitByte(sum_h) ;
TransmitByte(sum_l) ;
TransmitByte(0xC0) ;
}
/*********************************** command_bag_length_2 ***********************************/
void command_bag_length_2( u8 cmd , u8 p1 )
{
u8 sum ;
u8 i,sum_h,sum_l ;
TransmitByte(0xC0) ;
TransmitByte(0x01) ;
for(i=0;i<4;i++)
{
TransmitByte(0x00) ;
}
TransmitByte(0x00) ;
TransmitByte(0x02) ;
TransmitByte(cmd) ;
TransmitByte(p1) ;
sum = 0x02 + cmd + p1 ;
sum_h = sum>>8 ;
sum_l = sum&0xff ;
TransmitByte(sum_h) ;
TransmitByte(sum_l) ;
TransmitByte(0xC0) ;
}
/*********************************** command_bag_length_3 ***********************************/
void command_bag_length_3( u8 cmd , u8 p1 , u8 p2 )
{
u16 sum ;
u8 i,sum_h,sum_l ;
TransmitByte(0xC0) ;
TransmitByte(0x01) ;
for(i=0;i<4;i++)
{
TransmitByte(0x00) ;
}
TransmitByte(0x00) ;
TransmitByte(0x03) ;
TransmitByte(cmd) ;
TransmitByte(p1) ;
TransmitByte(p2) ;
sum = 0x03 + cmd + p1 + p2 ;
sum_h = sum>>8 ;
sum_l = sum&0xff ;
TransmitByte(sum_h) ;
TransmitByte(sum_l) ;
TransmitByte(0xC0) ;
}
/*********************************** command_bag_length_4 ***********************************/
void command_bag_length_4( u8 cmd , u8 p1 , u8 p2 , u8 p3 )
{
u16 sum ;
u8 i,sum_h,sum_l ;
TransmitByte(0xC0) ;
TransmitByte(0x01) ;
for(i=0;i<4;i++)
{
TransmitByte(0x00) ;
}
TransmitByte(0x00) ;
TransmitByte(0x04) ;
TransmitByte(cmd) ;
TransmitByte(p1) ;
TransmitByte(p2) ;
TransmitByte(p3) ;
sum = 0x04 + cmd + p1 + p2 +p3 ;
sum_h = sum>>8 ;
sum_l = sum&0xff ;
TransmitByte(sum_h) ;
TransmitByte(sum_l) ;
TransmitByte(0xC0) ;
}
/*********************************** command_bag_length_6 ***********************************/
void command_bag_length_6(u8 cmd , u8 p1 , u8 p2 , u8 p3 , u8 p4, u8 p5 )
{
u16 sum ;
u8 i,sum_h,sum_l ;
TransmitByte(0xC0) ;
TransmitByte(0x01) ;
for(i=0;i<4;i++)
{
TransmitByte(0x00) ;
}
TransmitByte(0x00) ;
TransmitByte(0x06) ;
TransmitByte(cmd) ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -