Debe verificar las características de E / S y puerto serie en la hoja de datos de los dispositivos para asegurarse de que los niveles lógicos coincidan. Necesita el V IL , V IH , V OL , V OH respectivamente para SIM800L y STM32F103 . Para el SIM800:
ParaelSTM32F103,losvaloresdeentradaquesepruebanenproducción:
- VILmax=0.35*VDD=0.35*3.3V=1.155V
- VIHmin=0.65*VDD=0.65*3.3V=2.145V
TeóricamenteVILunpocomásaltoyVIHunpocomásbajo.
Comopuedever,nohayproblemaaquíyaqueVOLmax(0.1V)delSIM800estápordebajodeVILILmax(1.155V).YelVOHmin(2.7V)delSIM800estáporencimadelVIHmindelSTM32(2.145V).
Laotradirección,valoresdesalidaSTM32F103:
Hayvarioscasos,debecalcularseconlosvaloresdelpeordeloscasos,porloquecuandolacorrientedeIOes+20mA.VOLmax=1.3VyVOHmin=3.3V-1.3V=2V.
Ahora,aquívienenlosproblemasyaqueelVILmaxdeSIM800es0.3VperoelVOLmaxesalmenos0,4V.Hayunabrechade0,1VenlaquelaentradaalSIM800noestádefinida.
TambiénVOHmindelSTM32puedeserde2V,2.4Vo2.9V.El2VestámuypordebajodeVIHdelSIM800min2.5V.La2.9Vprobablementeestaríabien.
Sesugierelaconversióndetodoelnivellógicoengeneral,semencionaenlahojadedatosdelSIM800juntoconuncircuitodereferencia.
Si su problema persiste después de hacer el cambio de nivel, aquí hay un par de elementos que debe revisar:
- Debe verificar que haya conectado el pin TX del SIM800 al pin RX del STM32 y el pin RX del SIM800 al pin TX del STM32.
- SIM800 tiene la función de audición automática activada de forma predeterminada, y esta solo admite las siguientes tasas de baudios: 1200, 2400, 4800, 9600, 19200, 38400 y 57600. Por lo tanto, si su tasa de baudios es 115200, entonces se debe cambiar.
- Asegúrese de que cada comando AT que envíe finalice con una secuencia
\r\n
.