1 석사 2 PIC의 노예로 [50pts] RS485 네트워크

M

mouzid

Guest
안녕, 난 그냥 RS485 네트워크를 설계했습니다. 네트워크가 성공적으로 하이퍼 터미널을 사용하여 네트워크에 두 대의 PC를 연결하여 테스트되었습니다. 내 ORK의 두 번째 단계에서, 우리의 목표는 PC에서이 매트릭스 LED displayer을 제어하는​​ 것입니다. 2 매트릭스 LED의 Displayer는 인터페이스 RS232/485 통해 Netwok에 연결하고 PC에서 나오는 데이터를 표시하고 있습니다. 그림 16F876는 LED 매트릭스를 제어 또한 PC 및과의 통신을 위해 사용됩니다. 내 PC에서 데이터를 보내는 경우, 두 개의 LED 매트릭스가 표시됩니다? 다른 대상에 대한 데이터를 전송하는 방법 한 Displayer 두 번째 displayer 위해 다른 데이터에 표시되는 텍스트를 보낼 건가요? Danke.
 
그럼 난 diplay 끝에 일부 micropoccesor도있다 바랍니다. 그래서 그들이 이해할 수있는 형식 diplay로 RS485/RS232 변환할 수 있습니다. U가 질문을하면 구체적으로
 
각 끝에 필터로 컨트롤러를 사용하고 (예 : 1Byte) 주소의 일부 유형을 포함하고 자신의 프레임 형식을 설계
 
내 친구 회답을 가져 주셔서 감사합니다. [인용 = sau_sol] 각 끝에 필터로 컨트롤러를 사용하여 주소의 일부 유형을 포함하고 자신의 프레임 형식을 설계 (예 : 1Byte) [/ 견적] 회신에 의하면,이 의미가 있다고 저는 PC는 데이터에게 보낼 때 이 마이크로 컨트롤러 그것을 받고 같은 메시지가 읽을 만드는 LED 매트릭스를 제어합니다. 난 당신의 아이디어 sau_sol를 좋아하지만 그것을 구현하는 방법을 볼 수 없습니다. 실제로 PIC는 serilal 방식으로 데이터를 읽은 usart를 사용합니다. 나는 각각의 PIC에 주소 PIC2에 대한 PIC1와 FF를위한 00 Hexa를 죽입시다에 영향을하고 있다고 가정합시다. 와 통신할 수 PIC를 선택하는 가장 좋은 가장 간단한 방법은 우리가 먼저 PIC를 선택하고 다음 데이터를 보내는 것과 같은 프레임 형식을 선택하는 것입니다. 예를 들어, 프레임 11 00 22 33 44 hexa IE 5 바이트 데이터입니다 가정하자. 11 00 22 33 44 FF : 그래서, 프레임이 Display2에 메시지를 (PIC2에 의해 contoled)을 표시할 수 있도록합니다. 이 예제에서 문제는 5 바이트 (00)입니다. 일단 감지, 첫 번째 PIC는이 바이트 주소를 고려하고 결과적으로 다음 바이트를 읽을 것이며, 프레임의 reste 때까지 기다립니다. 당신이 문제를 해결하는 방법을 알고 계십니까?
 
[인용 = mouzid] 감사합니다 당신을 내 친구를 회신하십시오. MCU이 바이트를 보면 당신이 문제를 해결하는 방법을 알고 계십니까? [/ 인용] 이스케이프 문자로 1 바이트를 선택 simpliest 방법 예 0xAA를 위해서는 다음 바이트는 명령 바이트 될 것을 의미합니다. 명령 바이트 예를 들면 수 : 0x00 - 수신기 MCU1 스위치, 0x01 - 수신기 MCU2 스위치, 0x02 - 수신기 MCU1, 0x03 오프 스위치 - 수신기 MCU2, 0xAA를 끄고 - 0xAA 문자를받을 수 있습니다. 의미는 어떤 문자하지만 0xAA (를 전환할 수 있도록)을 접수 및 처리하지 해제 스위치. 하지만 같은 프레임을 보내는 데 더 : [동기화 바이트 / addr 바이트] [DAT 렌] [데이터 byte0] .. [데이터 바이트 N] [CRC].
 
내가 사용하는 것은 그런 다음 일치하면 [주소] [데이터] 1B 모든 배열에 저장이 모든 (당신이 데이터 프레임의 최대 크기를 알고 있기 때문에)과 주소와 첫 번째 바이트를 비교 다른 프레임을 사용하는 간단한 프레임 형식입니다 이제 문제는 시간을받는 5 문자와 같은 시간과 경우 바이트 시작 타이머를받을 때마다 표준 방법 5 문자 공간 즉 기다리고 있도록 프레임을 아는 방법입니다 0 (즉, 프레임을 폐기)로 배열 인덱스를 재설정 그 시간 내에 다른 바이트가 0으로 타이머를 재설정하거나 내가 사용하는 것은 60ms 정도의 시간 초과는 수신
 
[인용 = mouzid] 안녕하세요, 난 그냥 RS485 네트워크를 설계했습니다. 네트워크가 성공적으로 하이퍼 터미널을 사용하여 네트워크에 두 대의 PC를 연결하여 테스트되었습니다. 내 ORK의 두 번째 단계에서, 우리의 목표는 PC에서이 매트릭스 LED displayer을 제어하는​​ 것입니다. 2 매트릭스 LED의 Displayer는 인터페이스 RS232/485 통해 Netwok에 연결하고 PC에서 나오는 데이터를 표시하고 있습니다. 그림 16F876는 LED 매트릭스를 제어 또한 PC 및과의 통신을 위해 사용됩니다. 내 PC에서 데이터를 보내는 경우, 두 개의 LED 매트릭스가 표시됩니다? 다른 대상에 대한 데이터를 전송하는 방법 한 Displayer 두 번째 displayer 위해 다른 데이터에 표시되는 텍스트를 보낼 건가요? Danke. [/ 인용] 수 당신이나 다른 어느 방법 PIC는 매트릭스를 스크롤하고 동시에 PC에서 데이터를받을 수 있습니다 않습니다 말해보세요? 내 지식으로 수신 기능은 바이트가 발견되면 중지 무한 루프입니다. RS232 수신이 방해 / 루프를 기반으로하기 때문에 PC에서 새 데이터를 기다리는 때 PIC은 더 이상 매트릭스를 스크롤하지 않습니다. 어떻게이 문제를 해결 했어?
 

Welcome to EDABoard.com

Sponsor

Back
Top