STM32L0 / FTDI UART La transmisión no funciona

0

Tengo STM32L053 (enlace al resumen) y he estado usando STM32CubeL0 como ejemplos de UART. También conecté el módulo FT232RL FTDI.

Todoestababien.LosmódulosSIM800LyFTDIestabanfuncionandobien.Aldíasiguienteconlosmismosmódulosdeconfiguraciónnorespondieron.ConectéelpinSTM32TX(PA9)alosciloscopio.Asíqueestáenviandoalgo.

Bien,penséquetalvezelFTDIbajó,asíqueloprobéconArduino.Funcionóperfectamente.EntoncesintentéconectarSTM32TXaArduinoRX.Ahíestánlosresultados.Algunossímbolosporalgunarazónrecibieronmal.¿FTDInorespondeaestoytambiénaSim800Lporquenosereconocecomocomunicaciónenserie?

Aquíestámicódigo: enlace

    
pregunta m1row

1 respuesta

0

Parece ser un problema de nivel de señal. Si la captura de pantalla del oscope indica correctamente, entonces tienes una diferencia de 1V entre baja / alta (1 división), que es definitivamente demasiado baja (SIM800L tiene 0.7V máx. Para baja y 2.1 min para alta. Todo lo que se encuentre dentro es ruido.

Desconecta el monitoreo FTDI y mide los niveles. Es posible que necesite un pull-up en las líneas UART a algún nivel conocido (por ejemplo, 3V3).

Incluso si tiene un ajuste de 2V / div en el osciloscopio, parece bastante cercano al mínimo de 2V1. Y los picos cortos (no de nivel completo) en el medio del paquete también están en el área gris.

EDIT

Parece que hay un error tipográfico en la hoja de especificaciones de SIM800L. Es 2.4V de alto y 0.4V bajo. Otra cosa es que arduino usa TTL (5V), mientras que STM tiene 3V3. Algunos de los bits podrían estar bien desde la perspectiva de STM, mientras que para Arduino están en el área gris y se descartan como ruido, por lo tanto, los caracteres extraños

    
respondido por el stiebrs

Lea otras preguntas en las etiquetas