Надеюсь все знают программку winavr, а в ней Programmer's Notepad 2.
Для того чтоб зашить программу в контроллёр, нужен Makefile, и в нем у меня выскакивают ошибки, с константами и т.д. если у кого есть рабочий пришлите его пожалуйста.
в книгиГде вычитал, ссылку давай.

Код: Выделить всё
uint16_t var = 0x1234;
uint8_t a=(uint8_t)(var), b=(uint8_t)(var>>8);слишком много лишних преобразований. достаточно так:lix писал(а):если на С, то так.Код: Выделить всё
uint16_t var = 0x1234; uint8_t a=(uint8_t)(var), b=(uint8_t)(var>>8);
Код: Выделить всё
uint8_t lo_byte = var;
uint8_t hi_byte = var >> 8;делать можно все, что не запрещает Си, а вот что будет получаться - это надо думатьChettuser писал(а):Спасибо!
А можно подобное сделать с 16-ти битными портами?
Или вообще без вычислений. Прочесть байты массива из 2 элементов. Немного некошерно, зато очень быстро. Особенно когда знаем, что контроллер little-endian...Мастер Ломастер писал(а): слишком много лишних преобразований. достаточно так:Код: Выделить всё
uint8_t lo_byte = var; uint8_t hi_byte = var >> 8;
боюсь, и с вашим утверждением нельзя согласиться: на подготовку указателя потратится больше команд, чем на доступ. а если делать через union - то потратится больше строк программыКРАМ писал(а):Или вообще без вычислений. Прочесть байты массива из 2 элементов. Немного некошерно, зато очень быстро. Особенно когда знаем, что контроллер little-endian...Мастер Ломастер писал(а): слишком много лишних преобразований. достаточно так:Код: Выделить всё
uint8_t lo_byte = var; uint8_t hi_byte = var >> 8;