Код: Выделить всё
OPTION_REG = (0<T0CS)|(0<PSA)|(1<PS2)|(1<PS1)|(1<PS1); // внутр тактовый генератор ТМРО, предделитель перед ТМРО, 1:256как записать?
Код: Выделить всё
OPTION_REG = (0<T0CS)|(0<PSA)|(1<PS2)|(1<PS1)|(1<PS1); // внутр тактовый генератор ТМРО, предделитель перед ТМРО, 1:256И супервизор добавьте. Что-то типа MC33064. Для крутизны самое то.так используйте тогда на последней микросхеме, на нее есть даташит по любому.
Не правильно возьмите калькулятор и проверьте при сдвиге вдвигаются нули, так что ваша запись не поможет, в отличие от этой:russo_turisto писал(а):Для нулей OPTION_REG &= (0<<T0CS)|(0<<PSA); //Это надо проверить!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Код: Выделить всё
OPTION_REG &= ~((1<<T0CS)|(1<<PSA)); Код: Выделить всё
OPTION_REG = (OPTION_REG&~((1<<T0CS)|(1<<PSA)))|(1<<PS2)|(1<<PS1)|(1<<PS1); На сколько мне известно, символ "!" обозначает логическое НЕ, а не инверсию. Для инверсии нужно использовать оператор "~".vitalik_1984 писал(а):в отличие от этой:Так ваши биты точно сбросятся.Код: Выделить всё
OPTION_REG &= !((1<<T0CS)|(1<<PSA));
Код: Выделить всё
T0CS_bit = 0;
PSA_bit = 0;
PS0_bit = 1; //1:64
PS1_bit = 0;
PS2_bit = 1;Код: Выделить всё
typedef enum {TOGGLE, SET, CLEAR}eBITCHANGES;
unsigned char changeBit(unsigned char byte, unsigned char bitNr,
eBITCHANGES how)
{
if (how == TOGGLE)
byte ^= 1 << bitNr;
else if (how == SET)
byte |= 1 << bitNr;
else if (how == CLEAR)
byte &= ~(1 << bitNr);
return byte;
}Благодарю за ответ. То есть в FPGA есть какие-то стандартные интерфейсы загрузки прошивки, например, из внешней flash памяти?Chettuser писал(а):И к тому и к другому.
Если FPGA, то конфигурация пишется в отдельное ЗУ. При включении считывается в FPGA, при выключении всё внутри FPGA пропадает.
Если CPLD, то как правило всё пишется во внутреннюю EEPROM память.
У марсохода я уже рассматривал их схемы, в частности их программатор и собираюсь собирать под неё. Но там схема несколько запутанная для их основной платы.Chettuser писал(а):Интерфейс по которому загоняется прошивка называется JTAG.
Схему обвязки можете взять здесь, правда там под другой камень.
По поводу внешней микросхемы для конфигурации точно сказать не смогу - я в основном имел дело с CPLD MAX II, у них всё внутри. И с XILINIX на работе - у той есть маленькая микрушка рядом - это и есть конфигурационная память. общаются по последовательному протоколу, возможно разновидность SPI.