Jump to content

Alex

Moderators
  • Content Count

    5119
  • Joined

  • Last visited

  • Days Won

    3

Alex last won the day on December 3 2017

Alex had the most liked content!

Community Reputation

611 Очень хороший

1 Follower

About Alex

  • Rank
    Убиватель МК
  • Birthday 01/01/1981

Контакты

  • ICQ
    461500721

Информация

  • Пол
    Мужчина
  • Интересы
    Микроконтроллеры, программирование.
  • Город
    Планета Земля

Электроника

  • Стаж в электронике
    10-20 лет
  • Сфера радиоэлектроники
    Микроконтроллеры
  • Оборудование
    Нет у меня ничего, я нищий...

Recent Profile Visitors

197783 profile views
  1. https://www.radiokot.ru/forum/viewtopic.php?f=59&t=175669 Думаю, эта тема уже не актуальна
  2. Скажу так. В фри-версии, код искуственно раздувается компилятором. Причём, раздувается не слабо. Разница между Free и Pro - ощутима.
  3. Это о каком алгоритме речь ? Если вычитать и проверять на <0, то FF будет считаться уже переполнением.
  4. А вот такой вариант : signed char x = 50; void fun(){ static signed char a=0xff; if((a-=x)<0) open_triac(); } уже имеет более красивую картинку : PS: А это Ваш вариант функции error :
  5. Естественно. АСМ - язык конкретного железа. А Си - язык высокого уровня, который не может захватить все существующие процессоры и их команды. По этому, у него нет оператора "сложить с пропуском по переполнению" Как вариант, на вскидку : unsigned char x; { static unsigned char a=0xff; if(a<x) open_triac(); a-=x; } XC8 : 10: void fun(){ 7F4 3032 MOVLW 0x32 11: static unsigned char a=0xff; 7FC 30FF MOVLW 0xff 12: 13: if(a<x) open_triac(); 7F5 0270 SUBWF fun@a, W 7F6 1803 BTFSC STATUS, 0 7F7 2FF9 GOTO 0x7f9 7F8 27EF CALL open_triac 14: a-=x; 7F9 3032 MOVLW 0x32 7FA 02F0 SUBWF fun@a, F 15: 16: 17: } 7FB 0008 RETURN Неоптимально, конечно. Хоть и PRO-версия.
  6. @Splav , если Вы пишите под PIC, и Вам очень хочется сделать этот алгоритм быстрый, с однобайтовыми переменными, то просто вставьте кусок АСМ-кода. Тогда вся конструкция выльется всего в несколько команд - сложение с проверкой бита переполнения (пропуск следующей команды, которая открывает триак). Остаток, как Вы его называете, будет сам оставаться в переменной, после переполнения.
  7. Отладка - неотъемлемая часть написания программ. Прогоните отладчиком и посмотрите, что передаётся в LCD_SendACharcter. Возможно, компилятор пихает строку куда-нибудь не туда, в какую-нибудь не ту область памяти.
  8. Про отладку что-нибудь слышали ? Подобное на раз-два вылавливается.
  9. Всем, чем попадётся ) А ели выбесит - могу и молотком убить Не весь исходник выложили
  10. А не проще выложить исходник ? Чтобы любой сам смог подправить под себя.
  11. На Алике заказать, не ?
  12. Диапазон входных напряжений АЦП определяется питанием МК. Смещайте своё напряжение до положительного диапазона и делите его. Простейшая задача для школьника по электронике.
  13. В чём тогда у Вас проблема ? Всё доступно, всё имеется, всё на руках, ... Берём и делаем.
×
×
  • Create New...