메뉴 바로가기
서브메뉴 바로가기
본문 바로가기
로그인
로그인 유지
ID/PW찾기
인증메일재발송
제품 소개
아두이노
WAT-AK133
WAT-SK114
아두이노 UNO
아두이노 자료실
AVR
AVR 모듈
AVR-ISP USB 용
AVR 모듈 추가
AVR 자료실
정전류 모듈
정전류 모듈(12V 이하)
정전류 모듈(40V 이하)
실험 모듈
스텝모터 모듈
키 매트릭스
캐릭터 LCD
실험 모듈 자료실
자료실
제품 자료실
전자/회로/MCU
OrCAD
하드웨어 일반
STM32 자료
저항 읽기
프로그래밍
C/C++/MFC
C# .NET
프로세싱
시리얼통신
테트리스
웹 프로그래밍
안드로이드
UTF8 변환
소프트웨어
소프트웨어 일반
유틸리티
파일 자료실
고객센터
공지사항
개발 의뢰(HW,SW)
문의 하기
1:1 문의
개발 의뢰
쇼핑몰
>
고객센터
>
문의 하기
고객센터
공지사항
개발 의뢰(HW,SW)
문의 하기
1:1 문의
개발 의뢰
문의(질문)하기
문의하기
묻고 답하기
>
고객센터
>
문의 하기
WhiteAT
2008.01.24 09:56
1.
TX 내부에 delay()를 직접 주는 거는 위험요소가 될수 있습니다.
TX함수()에 딜레이가 필요하면.. 타이머를 써야 할듯합니다.
(처음부터 힘들게 작업하신게 delay 를 직접 사용하지 않는 구조를 사용하지 않으려는 거였잖아요^^)
void Tx(void)
{
if(
next_tiimer > 0) return;
if(!보낼데이터가 있는가?) return;
if(tx_step ==0) {
//통신칩 register 세팅
write_reg(xxxx);
write_reg(xxxx);
write_reg(xxxx);
write_reg(xxxx);
write_reg(xxxx);
tx_step++;
next_tiimer = 1200; //
}
else if(tx_step==1) {
// Main while에서 받은 값을 tx 버퍼 큐에 쓴다.
Write_Data(ui8Z85_TBuf[tx_data_cnt]);
tx_data_cnt++;
if(tx_data_cnt >= 14){u8tx_step = ??;}
}
next_tiimer = 1; // 데이터를 보낸후에는 딜레이가 필요없다.
}
// 통신칩을 초기화 한후에는 1200딜레이를 가진후 TX를 하게 됩니다.
2. RX분석 함수에 TX함수를 직접 넣으면 다른 함수에 영향을 줄수도 있습니다.
TX 하는데 시간이 많이 소요되 때문에 분리해서 하시는게 좋을거 같습니다.
(TX 인터럽트를 사용해서 보내는 것도 좋은 방법입니다.)
3. 8Mhz로 9600 으로 (PC와) 통신을 해보셨나요?
제 경험으로 9600bps로도 통신이 잘 안되고, 데이터 시트에도 에러율이 높게 나와 있습니다.
시리얼통신((482,232 등)의 통신이 중요한 시스템이라면,
11.0592
같은 통신용 크리스탈을 사용하시는게 좋습니다.
▼
사진 및 파일 첨부
여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.
파일 용량 제한 :
0MB
(허용 확장자 :
*.*
)
업로드 중... (
0%
)
0
개 첨부 됨 (
/
)
글쓴이
비밀번호
돌아가기
TX 내부에 delay()를 직접 주는 거는 위험요소가 될수 있습니다.
TX함수()에 딜레이가 필요하면.. 타이머를 써야 할듯합니다.
(처음부터 힘들게 작업하신게 delay 를 직접 사용하지 않는 구조를 사용하지 않으려는 거였잖아요^^)
void Tx(void) {
if( next_tiimer > 0) return;
if(!보낼데이터가 있는가?) return;
if(tx_step ==0) {
//통신칩 register 세팅
write_reg(xxxx);
write_reg(xxxx);
write_reg(xxxx);
write_reg(xxxx);
write_reg(xxxx);
tx_step++;
next_tiimer = 1200; //
}
else if(tx_step==1) {
// Main while에서 받은 값을 tx 버퍼 큐에 쓴다.
Write_Data(ui8Z85_TBuf[tx_data_cnt]);
tx_data_cnt++;
if(tx_data_cnt >= 14){u8tx_step = ??;}
}
next_tiimer = 1; // 데이터를 보낸후에는 딜레이가 필요없다.
}
// 통신칩을 초기화 한후에는 1200딜레이를 가진후 TX를 하게 됩니다.
2. RX분석 함수에 TX함수를 직접 넣으면 다른 함수에 영향을 줄수도 있습니다.
TX 하는데 시간이 많이 소요되 때문에 분리해서 하시는게 좋을거 같습니다.
(TX 인터럽트를 사용해서 보내는 것도 좋은 방법입니다.)
3. 8Mhz로 9600 으로 (PC와) 통신을 해보셨나요?
제 경험으로 9600bps로도 통신이 잘 안되고, 데이터 시트에도 에러율이 높게 나와 있습니다.
시리얼통신((482,232 등)의 통신이 중요한 시스템이라면, 11.0592 같은 통신용 크리스탈을 사용하시는게 좋습니다.