BASIC4MCU | 질문게시판 | atmega128 해석
페이지 정보
작성자 hapy 작성일2020-12-08 20:55 조회6,588회 댓글3건본문
void write_txbuf_string(char flash *p)
{
char data = 0;
while((data = *p++) != '\0')
{
TX_BUF[TX_END++] = data;
}
UDR0 = TX_BUF[TX_START];
}
USART 관련 프로그램 해석중
해당부분이 무엇을 뜻하는지 몰라 질문드립니다.
감사합니다.
댓글 3
조회수 6,588master님의 댓글
master 작성일
void write_txbuf_string(char flash *p)
매개변수 char flash *p 이 부분은 flash 메모리에 저장된 문자열을 매개변수로 사용한다는 뜻인데
문자열 선언 시 flash가 아닌 sram에 선언했다면 flash를 빼면 됩니다.
이 편이 이해하기 더 쉽겠죠
void write_txbuf_string(char *p)
master님의 댓글
master 작성일
void write_txbuf_string(char *p){
char data = 0;
while((data = *p++) != '\0'){ // 문자열의 끝임을 알려주는 널문자(0,'\0',0x00)을 만날 때까지
TX_BUF[TX_END++] = data; // TX_BUF[]버퍼의 TX_END위치부터 0으로 문자열의 크기만큼 0을 채워라
}
UDR0 = TX_BUF[TX_START]; // TX_BUF[]버퍼의 첫 문자를 송신
}
인터럽트로 송신하는 것을 공부하셔야 합니다.
코드에 문제가 있을 것으로 추측이 되는데 부분소스만 첨부해서 체크할 수가 없습니다.
hapy님의 댓글
hapy 작성일감사합니다. 코로나 기승인데 건강유의하세요!