Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Изучайте ассемблер или Си. Иначе у вас так и будут программы съедать кучу памяти и ничего полезного не делать. Вот образец из даташита на atmega 8 на ассемблере
Код:
SPI_MasterInit: ; Set MOSI and SCK output, all others input ldi r17,(1<<DD_MOSI)|(1<<DD_SCK) out DDR_SPI,r17 ; Enable SPI, Master, set clock rate fck/16 ldi r17,(1<<SPE)|(1<<MSTR)|(1<<SPR0) out SPCR,r17 ret SPI_MasterTransmit: ; Start transmission of data (r16) out SPDR,r16 Wait_Transmit: ; Wait for transmission complete sbis SPSR,SPIF rjmp Wait_Transmit ret
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
По SPI в интернете есть куча статей. Даже для чайников. Даже тут в обучалке есть парочка уроков по программированию AVR на ассемблере. Всё объясняется весело и без лишних напрягов.
_________________ I am DX168B and this is my favourite forum on internet!
Карма: 1
Рейтинг сообщений: 21
Зарегистрирован: Пн май 16, 2011 10:54:32 Сообщений: 299 Откуда: Красноярск
Рейтинг сообщения:0
Мой код работает.Но с очень низким FPS. Работает так Проверяеться переменная M.(Она может бить от 1 до 6) Выкидываем Первую переменную в DC Сдвигаем Викидываем 2 Сдвигаем и.т.д и так все 36 переменных
_________________ Все можно сделать, было бы желание!
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Так вы что, программный SPI скошачить пытаетесь? В восьмёрке есть аппаратный SPI интерфейс. Просто кидаете туда байт и он сам отправляет его. не надо ничего мудрить. Читайте даташит на восьмёрку, там всё расписано. Если слабо с забугорным, то пользуйтесь переводчиком.
_________________ I am DX168B and this is my favourite forum on internet!
Не боись, там ацкая картинка Даже в этой ацкой картинке видно, что есть поле для оптимизации. Например куски FX_Y-Макро SPIZ (ХЗ что за SPIZ ) явно одинаковые, меняется только X и Y, значит их можно объединить в одну функцию, в которую можно передавать эти самые X или Y. Да и количество циклов в конце тоже можно отдельным параметром в функцию запихать... А вообще такое составление программы для контроллера это изврат
Вадиматоричик писал(а):
Мне ваш кусок нечего не сказал.Я в нём нечего не понял.
Ну так кусок на Си написан, правда без камментов...
Так вы что, программный SPI скошачить пытаетесь? В восьмёрке есть аппаратный SPI интерфейс. Просто кидаете туда байт и он сам отправляет его. не надо ничего мудрить. Читайте даташит на восьмёрку, там всё расписано. Если слабо с забугорным, то пользуйтесь переводчиком.
Предполагаю что автор не знает как из его "средства разработки" обратиться к периферии контроллера...
Цитата:
А на каком ЯП пишет автор?.. что-то я понять не могу..
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения