7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|||||||||||
1 | |||||||||||
GSM IOT_GA6 модуль не работает корректно TX18.11.2019, 18:41. Показов 1980. Ответов 20
Метки нет (Все метки)
Всем привет. пробую подружить STM32 і GSM модуль.
Для начала. Мне нужно было научиться принимать данные с UART и записывать их в буфер контроллера. Это нужно было для того, чтобы можно было в дальнейшем анализировать ответ от модуля. Сначала я подключил USB TTL к STM32, и написал код для получения команд с USB TTL, которые я посылал с компорта. Выглядит это так...
Но когда я пытаюсь поменять UART1 на UART2 на тот, который подключен к модулю GSM то я не могу принять адекватные данные..
0
|
18.11.2019, 18:41 | |
Ответы с готовыми решениями:
20
Не корректно работает модуль поиска и не отображается левое меню Не работает модуль (работает не корректно) GSM Модуль АТС VS GSM модуль |
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|||||||||||
18.11.2019, 18:47 [ТС] | 2 | ||||||||||
Хоча когда я делал все это на прерываниях, то мне удалось получать данные из модуля
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
18.11.2019, 19:11 [ТС] | 3 |
почему первый метод не работает?
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
19.11.2019, 15:31 [ТС] | 5 |
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
19.11.2019, 15:32 [ТС] | 6 |
и почему-то буфер записывается с 2 элемента...
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
19.11.2019, 15:52 [ТС] | 7 |
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|||||||||||
19.11.2019, 17:25 [ТС] | 8 | ||||||||||
почему я не могу увидеть пришедший знак новой строки? А они точно приходят, потому что их видно в буфере rx_buffer.
Получается так, что буфар я вывожу в консоль только тогда, когда он заполнится, а не когда придет знак окончания строки. Почему так?
ValeryS, почему я не могу увидеть пришедший знак новой строки? А они точно приходят, потому что их видно в буфере rx_buffer. Получается так, что буфар я вывожу в консоль только тогда, когда он заполнится, а не когда придет знак окончания строки. Почему так?
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
||||||
19.11.2019, 18:55 [ТС] | 10 | |||||
ValeryS, Сделал так.
Сейчас должна была быть логика такова, что как только мне приходит 0x0D символ, он у меня записывается в буфере, а сам буфер выводит данные в компорт. Но этот вариант не работает, поскольку буфер ничем теперь не заполняется.
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
||||||
19.11.2019, 19:16 [ТС] | 12 | |||||
ValeryS, Уже не использую huart1 все равно ничего не записывается в буфер rx_buffer..
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
19.11.2019, 19:33 [ТС] | 14 |
ValeryS,
поменял на UART, который подключен к компьютеру, и все работает.. конец строки видит. Я обозначил где происходит запись в буфер.
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
19.11.2019, 19:34 [ТС] | 15 |
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|||||||||||
20.11.2019, 00:21 [ТС] | 16 | ||||||||||
ValeryS, Я сделал даже так, но не помогает..
ValeryS, Сделал. Могу командами переключать светодиоды. Работает нормально с компорта UART1. Но мне нужно эти команды распознавать из GSM модуля, с UART3..
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
20.11.2019, 09:35 [ТС] | 17 |
ValeryS, Все заработало, теперь я могу читать данные, которые приходят с модуля. Проблема была в том, что мне надо было ждать 0х0А символ.
Теперь вопрос в другом. Как правельно обрабатывать команды, которые пришли? В мэйн или в колбек?
0
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
||||||
20.11.2019, 10:08 [ТС] | 19 | |||||
ValeryS, Для записи одного символа, я использую HAL_UART_Receive_IT(&huart3, &rx_data, 1);
Эта функция, по идаи, вызывает эту фонкцию void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart), если пришел один символ.
то в буфере я буду иметь [0]=0x52'R', [1]=0x0D, [2]=0x0A а не [0]=R, [1]=I, [2]=[N], [3]=G, [4]=0x0D, [5]=0x0A.
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
|
20.11.2019, 10:44 | 20 |
ну и вызывает
теперь по шагам на бумажке попробуй пройти вот этот участок ты сравниваешь rx_data с 0x0A, но когда и где ты пишешь в rx_data ??? что с чем сравниваешь?
0
|
20.11.2019, 10:44 | |
20.11.2019, 10:44 | |
Помогаю со студенческими работами здесь
20
GSM-модуль Cinterion GSM/GPRS модуль SIM900D GSM модуль; 3 сим карты GSM модуль. Какой выбрать? Simcom SIM900D модуль GSM GSM модуль Arduino MEGA GSM модуль IOT-GA6-B Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |