Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATtiny13 + AT45B011B
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
radimir
собственно сабж...
SPI на tiny13 и чем запрограммировать AT45B?
в бюджетном проекте требуется объединить tiny13 и at45B но на тини нет SPI
и непонятно чем программировать AT45B

может кто подскажет как делается?
m16
Цитата(radimir @ Jul 27 2007, 13:49) *
но на тини нет SPI

SPI сделать программным
prottoss
Код
/*****************************************************************************
Обмен данными по SPI
записывает в SPI порт данные wr_data и возвращает прочитанные при обмене данные
******************************************************************************/
UCHAR ExSPI(UCHAR wr_data)
{
   UCHAR rd_data;
   for(UCHAR i = 0; i < 8; i++)
   {
         /* отправляем следующий старший бит отправляемого байта */
         if(0 != (wr_data & 0x80))
             ISP_PORT |= (1 << PIN_MOSI); // = 1
         else
             ISP_PORT &= ~(1 << PIN_MOSI); // = 0

         /* подготавливаем следующий бит */
         wr_data <<=1;

         /*  принимаем очередной (начиная со старшего) бит принимаемого байта */
         rd_data <<= 1;
         if(0 != (ISP_PIN & (1 << PIN_MISO)))
             rd_data++; /* устанавливаем единичный бит, если высокий принимаемый уровень */

         /* формируем импульс на выводе SCK МК */
         ISP_PORT |= (1 << PIN_SCK); // высокий
         __delay_cycles(LOW_SCK_DELEY); // задержка
         ISP_PORT &= ~(1 << PIN_SCK); // низкий
          __delay_cycles(LOW_SCK_DELEY); // задержка
     }
     return rd_data;
}
radimir
2prottoss
Огромное вам человеское спасибо! smile.gif
просто и со вкусом.

а вот может кто нить посоветует чем прошить AT45B ?
Вроде как куча программаторов которые по spi шьют а вот 45B не поддерживают...
prottoss
Цитата(radimir @ Jul 27 2007, 19:25) *
2prottoss
Огромное вам человеское спасибо! smile.gif
просто и со вкусом.

а вот может кто нить посоветует чем прошить AT45B ?
Вроде как куча программаторов которые по spi шьют а вот 45B не поддерживают...
ну так напишите свой, делов то smile.gif
ReAl
radimir, ни на LPT, ни на COM тоже нет SPI ;-)


prottoss, а какой смысл в подпрограмме разделять wr_data и rd_data ?
Вполне можно вдвигать биты на освободившееся место в wr_data, как я обычно и делаю.
prottoss
Цитата(ReAl @ Jul 27 2007, 21:03) *
radimir, ни на LPT, ни на COM тоже нет SPI ;-)
prottoss, а какой смысл в подпрограмме разделять wr_data и rd_data ?
Вполне можно вдвигать биты на освободившееся место в wr_data, как я обычно и делаю.
Никакого smile.gif Просто так нагляднее
=GM=
Цитата(ReAl @ Jul 27 2007, 13:03) *
prottoss, а какой смысл в подпрограмме разделять wr_data и rd_data ? Вполне можно вдвигать биты на освободившееся место в wr_data, как я обычно и делаю

Проттосс ответил, что никакого смысла нет, но мне кажется, что всё-таки смысл есть.

Если вы передаете строку символов, то передаваемая строка заменяется на принимаемую, что не всегда удобно и не всегда возможно, скажем, если строка находится в пзу.
defunct
Цитата(=GM= @ Jul 28 2007, 01:02) *
Проттосс ответил, что никакого смысла нет,

Протос правильно ответил. Смысла в этом действительно нет, стоит лишь посмотреть как объявлена wr_data. wr_data - локальная переменная unsigned char.

Ну а насчет вашего варианта со строкой, дык, это будет уже другая функция... Пока ее нет, нет смысла гадать "о смысле". ;>
arttab
возможно PonyProg сможет зашить
Dmitry_Od
Цитата
а вот может кто нить посоветует чем прошить AT45B ?
Вроде как куча программаторов которые по spi шьют а вот 45B не поддерживают...


Попробуй это http://www.amwaw.edu.pl/~adybkows/elka/ispprog.html

правда сам не пробывал, не успел, но должно работать, кстати, можно назначать пины порта под разную разводку программатора, по умолчанию (по схеме) должен быть выбран ADD ISP программатор.

А кристалл какой? AT45DB или AT45D? - там разное питающее напряжение - 3,3В и 5В.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.