zaicev_ekb
Участник-
Постов
34 -
Зарегистрирован
-
Посещение
-
Вопрос к ТС. Со средой разработки разобрались? Сам сейчас осваиваю MAX32520
- 17 ответов
-
- max32660
- cortex-m4f
-
(и ещё 2 )
C тегом:
-
STM32F103 USAR3 обмен по ModBus
zaicev_ekb ответил zaicev_ekb тема в STM
Сергей спасибо за критику. Го это не HAL а SPL. Сделано как описывают сами ST в своем референсе. Даташит тоже читаю, и еррату тоже. За замечание еще раз спасибо. Буду пробовать. И в Кале перед функциями стоит префикс HAL. Халом я тоже не пользуюсь. -
STM32F103 USAR3 обмен по ModBus
zaicev_ekb ответил zaicev_ekb тема в STM
Сергей вопрос в продолжение Конфиг USART rs485_data.delay = br9600_timeout; USART_InitStructure.USART_BaudRate = br9600; USART_InitStructure.USART_WordLength = USART_WordLength_9b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_Even; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init ( USART1, &USART_InitStructure ); USART1->CR1 |= ( 1 << 10 ) | ( 1 << 8 ); USART_ITConfig ( USART1, USART_IT_RXNE, ENABLE ); USART_ITConfig ( USART1, USART_IT_NE, ENABLE ); USART_ITConfig ( USART1, USART_IT_FE, ENABLE ); USART_ITConfig ( USART1, USART_IT_ERR, ENABLE ); обработка прерывания if ( USART_GetITStatus ( USART1, USART_IT_RXNE ) != RESET ) { USART_ClearITPendingBit ( USART1, USART_IT_RXNE ); rs485_data.rxtimer = 0; if ( rs485_data.rxcnt - 2 > ( RX_BUF_SIZE ) ) { rs485_data.rxcnt = 0; } rs485_data.buffer_rx[rs485_data.rxcnt] = USART1->DR & (uint16_t)0x01FF; rs485_data.rxcnt++; rs485_data.symbol_first = 1; rs485_data.rxtimer = rs485_data.delay ; } if ( USART_GetITStatus ( USART1, USART_IT_TC ) != RESET ) { USART_ClearITPendingBit ( USART1, USART_IT_TC ); rs485_dir_off(); rs485_data.txend = 0; USART_ITConfig ( USART1, USART_IT_TC, DISABLE ); rs485_data.Status_Tx = Tx_End; } if ( USART_GetITStatus ( USART1, USART_IT_TXE ) != RESET ) { USART_ClearITPendingBit ( USART1, USART_IT_TXE ); } if ( USART_GetITStatus ( USART1, USART_IT_LBD ) != RESET ) { USART_ClearITPendingBit ( USART1, USART_IT_LBD ); rs485_data.Status_Rx = Rx_Error; } if ( USART_GetITStatus ( USART1, USART_IT_ORE ) != RESET ) { USART_ClearITPendingBit ( USART1, USART_IT_ORE ); rs485_data.Status_Rx = Rx_Error; rs485_data.buffer_rx[rs485_data.rxcnt] = USART_ReceiveData ( USART1 ); rs485_data.rxcnt++; } if ( USART_GetITStatus ( USART1, USART_IT_FE ) != RESET ) { USART_ClearITPendingBit ( USART1, USART_IT_FE ); USART_ClearITPendingBit ( USART1, USART_IT_PE ); rs485_data.Status_Rx = Rx_Error; rs485_data.symbol_first = 0; } if ( USART_GetITStatus ( USART1, USART_IT_PE ) != RESET ) { USART_ClearITPendingBit ( USART1, USART_IT_PE ); rs485_data.Status_Rx = Rx_Error; rs485_data.symbol_first = 0; } При приеме байта в прерывание заходим но соответсвующий флаг PE не выставляется в регистре SR не выставляется -
STM32F103 USAR3 обмен по ModBus
zaicev_ekb ответил zaicev_ekb тема в STM
Спасибо за волщебный пендель буду копать -
STM32F103 USAR3 обмен по ModBus
zaicev_ekb опубликовал тема в STM
Доброго времени суток всем. Столкнулся с непонятным явлением USART сконфигурированный с одними параметрами связи, отвечает на запросы с другими параметрами связи Куда копать уже не знаю Ни кто не сталкивался с подобным? -
Инженер разработчик (Еатеринбург)
zaicev_ekb ответил www... тема в Предлагаю работу
Написал в почту- 5 ответов
-
- екатеринбург
- altium
-
(и ещё 2 )
C тегом:
-
Такое ощущение что вы просто хотите набить свое портфолио чужими работами. Сроки? Оплата? Или вы думаете что все кинуться к вам? И будут наперебой предлагать?
-
Тестирование кода.
zaicev_ekb ответил zaicev_ekb тема в Keil
Cбасибо за развернутый ответ. За HardFault в курсе. Я имел в виду unit тесты. -
Тестирование кода.
zaicev_ekb опубликовал тема в Keil
Доброго времени суток всем. Кто как тестирует код под кейлом? Если тему создал не такм где надо, просьба к админам перенести -
Пишите в личку. Или оставьве свои координаты
-
Расшифровка протокола по шине RS 232
zaicev_ekb ответил Doujons тема в Предлагаю работу
elesy.ural гав-гав rambler.ru -
Расшифровка протокола по шине RS 232
zaicev_ekb ответил Doujons тема в Предлагаю работу
Напишите в личку -
Монтажник. Екатеринбург.
zaicev_ekb ответил SZ0 тема в Предлагаю работу
Написал вам на указаное мыло, а в ответ тишина.... Видимо вам так нужны монтажники -
Монтажник. Екатеринбург.
zaicev_ekb ответил SZ0 тема в Предлагаю работу
ТС похоже и ответить даже хочет.