Добавлено after 7 minutes 9 seconds: У меня единственное.Не получается строку отправить.Проблема была в прерывании системного таймера.А вторая проблемаMODIFY_REG(USART1->CR1, USART_CR1_M | USART_CR1_PCE | USART_CR1_PS ,USART_CR1_TE |USART_CR1_RE); в этой строке а вернее с запятой.Если её убрать MODIFY_REG(USART1->CR1, USART_CR1_M | USART_CR1_PCE | USART_CR1_PS |USART_CR1_TE |USART_CR1_RE);-так не работает.А как же мне строку отправить?
Извиняюсь, ошибся. У вас так: Reg = (0<<Pos1)|(0<<Pos2); Надо лишь помнить, что такой записью вы портите содержимое всех прочих битовых полей регистра Reg, что тоже нежелательно.
Я их не просто порчу, а устанавливаю в нужные мне значения!
Цитата:
Reg |= (0<<Pos1)|(0<<Pos2); Для чего вы это пишите? Проговорите словами, что вы хотите сделать такой строкой.
Зачем словами? Я говорю в данном случае на языке программирования. И говорю я, что не забыл про эти биты, более того, мне нужно, чтобы в этой точке программы они были равны нулю.
операцией ИЛИ "0" 1-цу не погасит, но при просто присвоении "1" и нет. Получается запись просто на память
Парамеиры в функцию передаются через запятую. Сколько параметров нужно MODIFY_REG(.......) ? как можно убрать запятую? проверяйте что вы хотите от регистра
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650.
Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Я выложил примеры настройки и тактирования, и УАРТ. usart->SR &= ~USART_SR_TXE;
Так делать нельзя! Читайте описание регистра SR. Правильная запись для сброса бита TXE: usart->SR = ~USART_SR_TXE; Ваша запись, кроме того что не неоптимальна, так ещё и может сбрасывать другие случайные флаги.
Да и вообще смысл этого участка неясен... Видимо записали символ в буфер передачи теперь хотите чтобы вызвалось прерывание передачи (TXEIE)? Но зачем-то перед его его разрешением пытаетесь сбрасывать флаг TXE. Т.е. - если буфер передатчика был уже пуст к этому моменту, то флаг TXE стоял. Вы его принудительно сбросили и только потом разрешили прерывание TXEIE. Ну так оно никогда и не сработает, так как TXE принудительно сброшен.
Вообще флаги в регистре SR редко когда нужно принудительно сбрасывать. Они сбрасываются сами при определённых событиях (TXE - при записи символа в регистр передатчика).
Последний раз редактировалось jcxz Чт июл 29, 2021 18:06:04, всего редактировалось 2 раз(а).
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
jcxz, ну что за бред? Бит TXE - read only! Сбрасывается он, если в DR что-то будет записано...
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Да там вообще много чего бессмысленного. И читать такой код страшно.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения