Jump to content

Zombie47

Members
  • Content Count

    200
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Zombie47

  • Rank
    Постоялец

Информация

  • Пол
    Мужчина
  • Город
    Санкт-Петербург

Электроника

  • Стаж в электронике
    Менее года

Recent Profile Visitors

1573 profile views
  1. где взять эту функцию? USART_ClearITPendingBit где взять это USART_IT_RXNE у меня этого просто нету. я понимаю что второе это регистр, но он где то должен быть определен. а у меня нигде не определен и как это сделать я не пойму.
  2. такого нет впринципе.
  3. Значит так флаг поднялся. Сработало прерывание, и обработчик прерываний? вызвался каллбэк? А как переконфигурировать сначала в ногу на выход а потом в ногу уарта? я переконфигурирую и у меня впринципе прием перестает работать
  4. Спасибо теперь понятнее стало почему так работает. Вообщем вопрос в следующем, как запретить поднимать эти флаги прерывания на прием пока я отправляю?
  5. да это понятно, но я же уже отправил, все , ниче не должно быть в приеме дублироваться.
  6. и еще вопрос, почему не работает этот код. у меня стоит драйвер, который параллелит при отправке RX и TX ну вроде как эхо называется. поэтому пишу вот так: HAL_UART_Abort_IT (&huart1);//запрет прерываний по приему. HAL_UART_Transmit(&huart1, &start_posilka_abs, 1, 30); //отправляю 1 байт HAL_UART_Receive_IT(&huart1, (uint8_t*)buffers_first, 1);//запускает прием по уарту как токо придут все байты будут приняты сработает прерывание каллбэк каждый цикл срабатывает каллбэк на прием. но я же вроде как запретил прием.
  7. Исходные данные проц: STM32L053R8 работаю с HAL мне надо ногу PA9 сначала подергать вручную, а потом чтоб она была уартом. я решил делать так: конфигурирую как ногу на выход: /*Configure GPIO pins : PA9 */ GPIO_InitStruct.Pin = GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); дергаю ногой: HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9,GPIO_PIN_RESET); HAL_Delay (582);// это будет 582 задержка HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9,GPIO_PIN_SET); HAL_Delay (158);// это будет 158 задержка HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9,GPIO_PIN_RESET); HAL_Delay (24); // это будет 24 задержка очень чувствительно. ставлю 25 перестает работать. HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9,GPIO_PIN_SET); HAL_Delay (24);// это будет 24 задержка конфигурирую как уарт: // ниже конфигурирую пин PA9 опять как уарт GPIO_InitStruct.Pin = GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF4_USART1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); отправляю: HAL_UART_Transmit(&huart1, &start_posilka_abs, 1, 30); //отправляю 1 байт принимаю: HAL_UART_Receive_IT(&huart1, (uint8_t*)buffers_first, 1);//запускает прием по уарту как токо придут все байты будут приняты сработает прерывание каллбэк вообщем вроде все работает кроме одного, перестает работать прием ) перестают работать прерывания на прием.
  8. там 5000 ом ? где? на выходе? тоесть если выход ЦАП подключу к земле через 1 ком то что я получу? делитель 5 и 1 ком?
  9. Так и что мне с этой информацией делать не понимаю
  10. эмм.... вообще не понял к чему тут эта таблица
  11. Например я это напряжение буду замерять мультиметром что в таком случае будет? оно просядет? насколько? не религия а скорее знания не позволяют ) вообще сигнал с термопары у меня идет на MAX6675 и им обрабатывается считывается МК и выводиться на дисплей и еще планирую делать выход с МК чтобы заслать эту инфу в мозг ДВС
  12. Помогите разобраться с модулем ЦАП на PIC16f1847. Вот я смотрю 5 страницу даташита и вижу там что вроде как модуль DAC доступен только на ноге RA2. Дальше еще будут вопросы про конфигурацию и тд. Я хочу получить на выходе вольтаж от 0 до 5 вольт. Вольтаж будет зависеть от переменной. Переменная это будет температура которая получается с термопары. от 0 до 1024 соответственно при 512 температуре у меня должно быть 2.5вольта Дискретность сигнала (то-есть как быстро будет меняться вольтаж на выходе) она же температура. От 0.5 до 1 сек. Я могу просто получать напряжение с ноги и все? или же надо повесить на выход ноги какие нить резисторы кондерчики и тд?
  13. нагуглил эту тему поиском по гуглу "сигнал с датчика абс на микроконтроллер" читаю субару =)))) как раз таже ситуация =))) Сейчас думаю как грамотно это реализовать.
  14. Я тоже так думал и сделал программу которая отправила пакет в кан шину. отправила пакет 96 10 (перевернутый 10 96) и блок который принимает пакет так как он принимает в хексе перевел эти десятичные числа еще раз в десятичные! так как он думает что это все в хексе пришло. тоесть для принимающего блока пришло 96 и 10 в шестнадцатиричной,
  15. да все верно только щас пришел к пониманию =) вообщем мне нужно отправить пакет с переменными a и b в переменной a должно быть к примеру 0A а в переменной b должно быть к примеру 60 тоесть speed равно 1096 и это число нужно разбить на 10 и 96 и перевести в hex Вопрос, каким образом мне в СИ из числа 1096 получить две переменные со значениями 0A и 60 ?
×
×
  • Create New...