Комментарии 18
Насколько я знаю, обычная термобумага, для кассовых термопринтеров, вполне себе чувствительна к «ударам», не обязательно искать какую-то особенную.
Да, я кстати пробовал её в деле. Она чувствительна, но текст не совсем хорошо видно.
Можно воспользоваться «копиркой», если влезет.
Зачем рендер?
Берем символ:
1.старшие биты строк, его составляющих, отправляем на печать
2.сдвигаем строки влево
3.повторяем 1,2 до конца символа
Или тот же алгоритм, но сразу к буферу из 9 символов для правой полустроки и тоже для левой. И не надо тратить ресурсы на поворот символов
Берем символ:
1.старшие биты строк, его составляющих, отправляем на печать
2.сдвигаем строки влево
3.повторяем 1,2 до конца символа
Или тот же алгоритм, но сразу к буферу из 9 символов для правой полустроки и тоже для левой. И не надо тратить ресурсы на поворот символов
Рендер был нужен, чтобы упростить написание/отладку/тестирование программы (человек писавший на Паскале и читавший Кнута...). Ну и вторая мысль была, что Ардуинка может не справится с выполнением программы в жестких временных рамках. Хотя, понимаю, что дури вычислительной у нее в районе 16 MIPS, что примерно равно 486-му процессору.
Ваше предложение дельное, будет время — попробую реализовать Вашу идею.
Ваше предложение дельное, будет время — попробую реализовать Вашу идею.
Насколько я помню, сдвиг- это одна из наименее затратных операций. Вот получение одного бита- не помню, что по ресурсам требует… Но должно быть не много, битовая операция.
Или вообще сделать через AND
Или вообще сделать через AND
for (k=0; k<=7; k++)
{
if(TmpVal & 0x80) // TmpVal (строка символа) AND 0b10000000
{
digitalWrite(b1stHead_A, HIGH); // если результат равен 0x80
}
else {
digitalWrite(b1stHead_A, LOW); // если результат равен 0
};
TmpVal=TmpVal << 1; сдвигаем влево
};
Я согласен с Вами. And/Or/Xor/Not и сдвиги выполняются буквально за 1 такт на AVR. Единственное, мне было лень разбираться, какого размера код выдает компилятор при реализации этих операций на языке высокого уровня.
Когда-то думал купить новый термопринтер (запчасть кассовика) занедорого, но так и не придумал зачем…
Вы конечно молодец. Очень полезное занятие для саморазвития. Правда сейчас повсеместно применяются термопринтеры в силу их несравненно большей надежности и большего времени наработки на отказ. Как специалист отремонтировавший не одну сотню этого «матричного ужаса» огорчу — скажу, что сначала у Вас сломается пару иголок, которые поменять весьма проблематично, а затем накроется двигатель…
Чтобы Power Bank от Xiaomi сам не отключался, надо у USB замкнуть D+ и D-
Кстати, можно купить кассовый аппарат типа Элвес Микро, накопать на него схему, и сделать какое-то готовое устройство, оно сразу будет с дисплеем и клавой… Какой-нибудь детский кассовый аппарат, совсем как настоящий) Только придется выдернуть процессор, который в нем (обычно там что-то на -51 архитектуре) и внимательно изучать схему…
Я живу в г.Уральске, Казахстан. Обычный провинциальный город, с населением 300 тыс. За ненужный кассовый аппарат на OLX просят от 2000 руб (10000 тенге). Эти аппараты мне достались по счастливой случайности, новый хозяин бывшего здания банка решил избавиться от мусора самым простым способом: устроил распродажу барахла, типа все по 100 рублей (мониторы, кассы, и т.д.). Больше таких акций у нас не было за последние 100 лет! ;-)
Замечательно! Но больше всего невероятно как легко ситизен поделились инфой!!! Я ожидал либо игнор, либо волокиту, а потом реверс инжиниринг автора.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как подключить матричный принтер MD910 от кассового аппарата Миника