Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 21:29:23

ivan dimir, опять Вы за своё ? Буду килять нахрен Ваши посты, за такое неуважение к нам !

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 21:31:17

ivan dimir, опять Вы за своё ? Буду килять нахрен Ваши посты, за такое неуважение к нам !

А как правильно?

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 21:36:36

Вы не видите разницу, между форматированием Вашего выложенного кода и других участников ? Серьёзно ? :facepalm:

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 21:52:49

Вы не видите разницу, между форматированием Вашего выложенного кода и других участников ? Серьёзно ? :facepalm:

Вижу .Дайте мне инструкцию.И переведите на мой язык.Простолюдинов(тюрский)?

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 21:57:38

ivan dimir писал(а):Дайте мне инструкцию
А ещё Вам что дать ? Ключи от квартиры не надо ? :)))

Интернетом тоже не умеете пользоваться ?

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 22:01:54

Ну обьясните мне нерусскому как правильно вводить программу на белом фоне чтоб было?[code][/code]

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 22:06:27

ivan dimir, нажимаешь [спойлер][код]сюда вставляешь свой код[/код][/спойлер]

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 22:13:30

ivan dimir, нажимаешь [спойлер][код]сюда вставляешь свой код[/код][/спойлер]
А спойлер что это и где находится.Я чтото не замечал?

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 22:25:06


Изображение
2022-01-26_22-20-30.png
(18.2 KiB) Скачиваний: 263

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 23:31:23

Re: CUbeide 1.8 глючит.

Ср янв 26, 2022 23:42:06

Маладец :write: :music: :tea:

Re: CUbeide 1.8 глючит.

Чт янв 27, 2022 06:45:07

Да при создании проекта в CUbeide 1.8 .Я создаю папки и хочу создать файлы.Компилятор не видит эти папки ? А видит те папки которые созданные копилятором.Раньше такого не было.?

Re: CUbeide 1.8 глючит.

Чт янв 27, 2022 07:07:00

Чтож. Кажется, я вижу причину.
1. Используйте более мягкие проверки переменных:
Код:
   if(menu_btn==1) {
      if((GPIOB->IDR&GPIO_IDR_IDR_4)==0) {
         if (a >= 4095) {
            a = 0;
         }
         a++;
      }
      if((GPIOB->IDR&GPIO_IDR_IDR_8)==0) {
         if (a >= 4096) {
            a = 4095;
         }
         a--;
      }
<...>


Либо измените тип переменной "а" на int16_t (она станет знаковой, и это даже лучше):
Код:
   if(menu_btn==1) {
      if((GPIOB->IDR&GPIO_IDR_IDR_4)==0) {
         if (a >= 4095) {
            a = 0;
         }
         a++;
      }
      if((GPIOB->IDR&GPIO_IDR_IDR_8)==0) {
         if (a <= 0) {
            a = 4095;
         }
         a--;
      }
<...>

Та же проблема с переменной "b" - она БЕЗЗНАКОВАЯ. Она не может принимать отрицательных значений, но её технически можно переполнить. Случайно.

2. Работа со строковым буфером... неудачная.
Разберём строку:
Код:
sprintf(buf,"     a=%2d",a);

В результате получим вывод:
Код:
sprintf(buf,"     a=%2d",200) ->
"     a=200" (10 символов)
sprintf(buf,"     a=%2d",10) ->
"     a=10" (9 символов)
sprintf(buf,"     a=%2d",4096) ->
"     a=4096" (11 символов)

Естественно, с числом вплоть до 99 всё будет работать. Но printf с аргументом %2d - будет резервировать только ДВА знакоместа под число. Всё, что не поместится будет печататься дальше.
Исправим на
Код:
sprintf(buf,"     a=%4d",a)

Теперь будем получать такой вывод:
Код:
sprintf(buf,"     a=%4d",1) ->
"     a=   1" (11 символов)
sprintf(buf,"     a=%4d",42) ->
"     a=  42" (11 символов)
sprintf(buf,"     a=%4d",123) ->
"     a= 123" (11 символов)
sprintf(buf,"     a=%4d",4095) ->
"     a=4095" (11 символов)

Всё, что печатается ДО заместителя переменной, будет печататься в неизменном виде.

То есть, ровно то, что я предположил в предыдущем ответе. :/

Re: CUbeide 1.8 глючит.

Чт янв 27, 2022 07:41:58

AlanDrakes писал(а):Чтож. Кажется, я вижу причину.
Код:
sprintf(buf,"     a=%2d",a);
Да он просто пропустил первые 5 символов, а причину не нашел.
ivan dimir писал(а):А когда запускаю Часы DS3231 нормально.
Это в одну строку выводится или нет?
Dimon456 писал(а):Резет нажми и удержи или паузу в отладчике, мерцают эти показания или нет?
В это время контроллер будет находится в состоянии сброса и передача по i2c будет прекращена.

Re: CUbeide 1.8 глючит.

Чт янв 27, 2022 12:25:20

Чтож. Кажется, я вижу причину.
1. Используйте более мягкие проверки переменных:
Код:
   if(menu_btn==1) {
      if((GPIOB->IDR&GPIO_IDR_IDR_4)==0) {
         if (a >= 4095) {
            a = 0;
         }
         a++;
      }
      if((GPIOB->IDR&GPIO_IDR_IDR_8)==0) {
         if (a >= 4096) {
            a = 4095;
         }
         a--;
      }
<...>


Либо измените тип переменной "а" на int16_t (она станет знаковой, и это даже лучше):
Код:
   if(menu_btn==1) {
      if((GPIOB->IDR&GPIO_IDR_IDR_4)==0) {
         if (a >= 4095) {
            a = 0;
         }
         a++;
      }
      if((GPIOB->IDR&GPIO_IDR_IDR_8)==0) {
         if (a <= 0) {
            a = 4095;
         }
         a--;
      }
<...>

Та же проблема с переменной "b" - она БЕЗЗНАКОВАЯ. Она не может принимать отрицательных значений, но её технически можно переполнить. Случайно.

2. Работа со строковым буфером... неудачная.
Разберём строку:
Код:
sprintf(buf,"     a=%2d",a);

В результате получим вывод:
Код:
sprintf(buf,"     a=%2d",200) ->
"     a=200" (10 символов)
sprintf(buf,"     a=%2d",10) ->
"     a=10" (9 символов)
sprintf(buf,"     a=%2d",4096) ->
"     a=4096" (11 символов)

Естественно, с числом вплоть до 99 всё будет работать. Но printf с аргументом %2d - будет резервировать только ДВА знакоместа под число. Всё, что не поместится будет печататься дальше.
Исправим на
Код:
sprintf(buf,"     a=%4d",a)

Теперь будем получать такой вывод:
Код:
sprintf(buf,"     a=%4d",1) ->
"     a=   1" (11 символов)
sprintf(buf,"     a=%4d",42) ->
"     a=  42" (11 символов)
sprintf(buf,"     a=%4d",123) ->
"     a= 123" (11 символов)
sprintf(buf,"     a=%4d",4095) ->
"     a=4095" (11 символов)

Всё, что печатается ДО заместителя переменной, будет печататься в неизменном виде.

То есть, ровно то, что я предположил в предыдущем ответе. :/

сделал как вы говорили.Без изменения.Причина не эта.

Re: CUbeide 1.8 глючит.

Чт янв 27, 2022 12:29:23

ivan dimir, почитайте правила, пожалуйста !
Могу даже Вам дать "отпуск", под это дело ! :)

Re: CUbeide 1.8 глючит.

Чт янв 27, 2022 12:44:49

Я ничего зазорного не пишу.Это технический момент.В AVR такого не было.Я так подозреваю что или проблема в библиотеке Lcd или в шине проблема i2c.Мнение профессионалов для меня имеет большое значение.

Re: CUbeide 1.8 глючит.

Чт янв 27, 2022 14:58:00

:facepalm:
Ещё раз - почитайте правила форума ! Пока это просьба.

Re: CUbeide 1.8 глючит.

Чт янв 27, 2022 15:17:52

Я ничего зазорного не пишу.

Не цитируйте длинные сообщения полностью. Цитируйте конкретные фразы, на которые отвечаете, а не весь текст сообщения на три монитора.
Заметили, как я вас процитировал? Я процитировал не всё ваше исходное сообщение, а лишь малую его часть. Ровно ту, на которую ответил. Поступайте также.

Re: CUbeide 1.8 глючит.

Чт янв 27, 2022 15:21:13

Понял .Это по незнанию.И не умению.
Ответить