도와주세요. 문제를 뿌리 뽑기 위해 수 시간을 보냈습니다.마이크로 컨트롤러에서 모뎀으로 보내지는 AT 명령은 무시됩니다
설치 : MSP430 (F5529 마이크로 컨트롤러), HW UART (USCI_A0) 및 모뎀 연결 (uBlox Leon G100). USB-to-RS232를 통해 PC에 연결하면 정확한 트래픽을 볼 수 있기 때문에 USCI_A0 포트가 잘 작동합니다.
uart_puts(UART_MODEM, "AT+CPWROFF\r");
이 모뎀 + CPWROFF AT 넣어 것이다 간단한. 모뎀은 전원을 끄지 않습니다. 모뎀에 PC를 연결하고 Enter 키를 눌러 "AT + CPWROFF"를 입력하면 모뎀의 전원이 꺼집니다. PC 콘솔에서도 "\ r"이 제대로 작동하는지 확인했습니다. 올바르게 캐리지가 반환됩니다. 시도한 "\ n \ r"은 작동하지 않습니다. 모뎀 설정에서 S3 문자를 확인했는데 013 (CR 또는 \ r)입니다.
나는 무엇이 잘못되었는지 전혀 모른다. PC에서 모뎀으로 잘 작동한다. (모뎀 전원을 켤 수있다.) MSP430-to-PC는 괜찮다. 마이크로 컨트롤러가 AT + CPWROFF를 UART에 넣는다.하지만 MSP430-to-modem은 그렇지 않다. 작업.
모뎀이 켜져 있는지 또는 꺼져 있는지를 현재 소비량을보고 확인할 수 있습니다.
제발, 어떤 힌트?
마이크로 컨트롤러에서 모뎀으로 보낸 다른 명령이 작동합니까? –
@ EricJ.No 및 UART에서 잘못된 점을 확인하기 위해 로직 분석기를 연결했습니다. 이것은 Python 스크립트를 통해/dev/ttyUSB0에서 모뎀으로 보내지는 올바른 통신의 덤프입니다 : http://inet24.pl/~morales/modem_ok.html 이것은 마이크로 컨트롤러에 의해 수행되는 통신입니다 (동일한 설정) http://inet24.pl/~morales/modem_nook.html. 모뎀이 쓰레기로 응답하는 것처럼 보입니다. 또한 FRAME 데이터가 나타납니다.이 데이터는 발생 시간에 가변적 인 경우가 있습니다 (때로는 20 개의 프레임도 있음). 나는 시계의 부정확성을 배제하기 위해 115200과 9600 전송 속도를 사용했다. 나는 정신 나간다. – tml