-
Постов
768 -
Зарегистрирован
-
Посещение
Достижения pliss
-
В авто, аккумулятор используется именно в буферном режиме. В авто, используются аккумуляторы для которых ударные нагрузки "в виде стартера" - штатный режим эксплуатации. Сделаны они для этого специально. Так и называются - стартерные.
- 4 557 ответов
-
1
-
- Зарядное устройство
- Зарядка
-
(и ещё 2 )
C тегом:
-
Вот это можно более вменяемо записать?.. void change_width_Pwm(unsigned char *b, const int a, const char c, const char d) { if(c == *b)// переход через минимум или максимум ширины { *b = d; } else { *b += a; } } ///////////////////////////////////////////// case BTN_UP_0 : change_width_Pwm(&width_Pwm_0, NEXT, WIDTH_PWM_MAX, WIDTH_PWM_MIN);//увеличиваем ширину change_ind_Pwm(&ind_Tens_0, &ind_Ones_0, width_Pwm_0); //увеличиваем индикацию break; case BTN_DWN_0 : change_width_Pwm(&width_Pwm_0, PREV, WIDTH_PWM_MIN, WIDTH_PWM_MAX);//уменьшаем ширину change_ind_Pwm(&ind_Tens_0, &ind_Ones_0, width_Pwm_0); //уменьшаем индикацию break;
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
Видите ли в чём дело... Ваш код или код коллеги ARV отличается от моего не тем, что он хорошо отформатирован, а тем что он хорош сам по себе. Форматирование здесь сильно ни причём.)
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
Не знаю, смеяться или плакать.) Мудрый дядька эту книжку написал, а может, просто следил за этой веткой форума. Девятая страница:
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
Конечно мало, но это я "на скорую руку" переделал, когда прошивал контроллер. Точнее - сначала запрограммировал с арифметической прогрессией, потом переделал на геометрическую. Но, не с характером приращения у меня сложности.) Возможно. Я делал по High Integrity C++ Coding Standard И это говорите мне вы?!!!! ))))))) Возможно, но я не постой разработчик. Я разработчик, который лучше всех остальных разработчиков знает т.з. Я сам и есть - Т,З. Да, я - объективная реальность и т.з.
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
Чтобы развеять сомнения достаточно прочитать начало темы.) Я не гипотетический. Я объективная реальность. Ну, и опять же - у темы есть начало.) По поводу форматирования - я "пошёл в гугл и набрал в яндексе" "оформление форматирование код си". Нашёл перевод существующего стандарта оформления. Исполнил все пункты кроме "№ 1". Да. Прогрессия должна быть геометрической. "Один" и "один + один" различаются в два раза. (100%) "Девяносто девять" и "девяносто девять + один" различаются в 1,01(01) раза.(1%) Ну, вот если бы в моём коде намекнуть на место, где можно применить такой фокус, если такое есть, но не сам фокус - это было бы здорово...
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
Согласен. Я, когда вырасту и стану большим, такие же штуки буду писать.) Если честно - я никак не "въеду" в объявление и дальнейшее использование функций. Вот у вас - Я так понимаю, что я её должен изобрести. Это вы мне оставили, и в результате нажатия на ту или иную кнопку вместо неё должно получиться число. А от того, какое число получиться зависит какой случиться case. Ну вот на таком уровне у меня "функции". Были бы на другом - я бы в своём коде их бы давно прикрутил куда-нибудь...
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
Подгонка по месту оказалась не такой сложной. Я в протеусе уже не могу определить изменение частоты при любых манипуляциях с кнопками. Хотя, повторюсь - стабильность мне важна во время работы. Во время перенастройки она меня не интересует. Единственное, что сложнее победить, при использовании целочисленных переменных - это абсолютную разницу в ширине импульса... Но можно.
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
Это от условий задачи зависит. Если в условии есть требование о строгом поддержании частоты импульсов и строгой точности приращения их на любом шаге исполнения кода - это да. А меня - и это я никак не могу донести до коллег, совершенно не интересует поведение устройства во время изменения ширины импульса. Пусть хоть в космос слетает - лишь бы после изменения вернулось обратно и ширина и частота импульсов соответствовала заданным во время изменения.
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
Желаю. И учусь. Сначала хочу научиться организовывать многоканальный шим без аппаратного таймера. Это у меня пройдёт. У вас же прошло.) А что закодировал "говнокодом" - так можно и перекодировать. Дело не хитрое. Но, сделал это принципиально, чтобы навсегда не остаться виртуальным программистом. У многих на форуме, я уверен, весь диск забит кодом, который ни разу не исполнялся ни где, кроме симулятора.
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
Ну, это вы всё, на верное, правильно говорите, только непонятно.) Но тем не менее оно работает. Може быть внутри оно неправильное, но снаружи - вполне. Спасибо всем, кто вольно или не вольно помог сделать первый шаг. ))
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
@ARV , вашу статью прочитал. Если вы не потеряли интерес к вашему сайту, то вопросы по ней я задам там. Ну хорошо. Вы описали последовательность так, как её видит программист: А вот так выглядит последовательность с точки зрения "нормального")) человека: 1. Получить несколько - пусть две (для простоты), последовательности импульсов определённой частоты. 2. Иметь потенциальную возможность независимо изменять скважность импульсов для каждой последовательности. 3. Иметь возможность запомнить установленную скважность импульсов. Кнопок у меня, на этапе постановки задачи - нет вообще! А каждое третье сообщение в обсуждении - о необходимости специальным образом организованного опроса кнопок. Каждое четвёртое - о необходимости поддержания точности частоты импульсов до +-1 такта процессора. И в каждом из них напоминают, что мой код - это основа очередного сервис-пака для windows, а с моим подходом он будет сильно глючным...) Пока код выглядит так: Прикинул. Пауза каждого, в моём случае восьмого периода, отличается от остальных на количество тактов за которое выполняется действие if((!(port_state&0b00000001)) умноженное на количество кнопок. Если кнопки не нажимались... Если я перемешаю опрос кнопок и отсчёт периода, то период всё равно будет плавать тогда, когда будет выполняться приращение импульса при нажатой кнопке... Так?
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
Ну, вот я и разделил на задачи - кнопки отдельно, шим - отдельно. На верное, вы имели ввиду совершенно другое разделение, но вы говорите на языке программистов, а я пока ещё на обычном - человеческом, естественно, что чаще всего я вас понимаю не правильно. Вообще-то, появление отдельного цикла для шим - это для того, чтобы не потеряться в том, что я понаписал... А здесь - я вам возражу. Для меня строка "0b00000001", пока, более наглядна, так как я вижу восемь однотипных ножек микросхемы, одна из которых отличается от других. А здесь "0b00000010" - отличается другая ножка. И т.д. Но это именно - "пока".
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )
-
При данном количестве тактов и данной частоте CPU получается нужная мне частота шим.
- 201 ответ
-
- с нуля
- программирование avr
- (и ещё 3 )