Page 45 - MDP2022-3
P. 45
int time;
char b;
char c; //mm_avg: 총 길이에서 mm_avg 빼고
저장할 함수
volatile int offset_flag = 0;
volatile unsigned long offset = 0;
volatile unsigned long weight = 0; //로드셀 측정 후 값 받는 변수
unsigned int kg_list[20]; //몸무게 평균을 위한 인덱스 30개 배열
unsigned int kg1000, kg100, kg10, kg1, kg_hu; //g을 기준으로 하여 몸무게 자리수 나누기 위한
변수들, kg_hu: 소수 두번째자리에서 반올림할 변수
unsigned int kg_all = 0, kg_avg = 0; //kg_avg: 합 저장 함수, kg_avg: 평균 저장 함수
void init()
{
DDRA = 0xff; //PA0: trig
DDRB = 0xff; // KG fnd
DDRC = 0xff; // CM fnd
DDRD = 0b00000010; // D0(DOUT) : input, D1(SCK) : output
DDRE = 0x00; //PE6, 7: Echo
DDRG = 0x18; // PORTG.3, PORTG.4 : DP
EIMSK = 0b11000000;
EICRB = 0b10110000;
TIMSK = 0b00000001; //tc0 ovf interrput : disable;
TCCR0 = 0x05;
TCNT0 = 0x83;
UCSR1A = 0x00; //USCR1A초기화 동작
UCSR1B = 0x18; //RX/TX ENABLE(허용해줄지 안해줄지) 설정
UCSR1C = 0x06; //8BIT DATA 설정인데 바꾸지 말아주세요
UBRR1H = 0; //BPS(초당 비트수) 설정부분
UBRR1L = 103; //57600bps 송신이 이상하거나 오류나면 UBRR1L=0XCF;를 UBRR1L= 103;으
로 바꾸고 SERIAL BLUETOOTH TERMINAL 사용해서 HEX에서 TEXT모드로 하면 될꺼임
SREG = 0x80;
}
void delay(int time){
delay_t=time;
while (delay_t>0){}
}