
AT91SAM7 старт с коленки
- Сообщения: 169
- Зарегистрирован: Пн мар 02, 2009 12:23:37
вот я мигал светодиодами
писал в кейле
но проблема каждый раз компилить и конвертит в бинарник и заливать через самбу
там еще заметно что чтото срывает нормальное мигание чето я там намудрил с прерываниями или чтото еще.... но разбиратся не было когда и пытаюсь щас гцц настроить но пока безуспешно http://file.qip.ru/video/XYq81bBB/MOV00400.html

- Реклама
видео есть 4 или 5 сек но просто черный экран!ELcat писал(а):всё есть
Вот оно, ДЛЯ БУДУЩИХ ПОКОЛЕНИЙ!
#include <board.h>
volatile unsigned int iii=0; //Объявляем переменную - счётчик для задержек
main()
{
*AT91C_PIOA_OER = 0xFFFFFFFF; //Втюхиваем все "1" в регистр разрешения выхода
while (1){
*AT91C_PIOA_SODR = 0xFFFFFFFF; //Устанавливаем все ноги в "1"
for (iii=1000000;iii>0;--iii)
{; //Ждём
}
*AT91C_PIOA_CODR = 0xFFFFFFFF; //Сбрасываем все ноги в "0"
for (iii=1000000;iii>0;--iii)
{; //Ждём
}
}
}
#include <board.h>
volatile unsigned int iii=0; //Объявляем переменную - счётчик для задержек
main()
{
*AT91C_PIOA_OER = 0xFFFFFFFF; //Втюхиваем все "1" в регистр разрешения выхода
while (1){
*AT91C_PIOA_SODR = 0xFFFFFFFF; //Устанавливаем все ноги в "1"
for (iii=1000000;iii>0;--iii)
{; //Ждём
}
*AT91C_PIOA_CODR = 0xFFFFFFFF; //Сбрасываем все ноги в "0"
for (iii=1000000;iii>0;--iii)
{; //Ждём
}
}
}
- Реклама
- Сообщения: 1040
- Зарегистрирован: Чт фев 19, 2009 17:46:34
ELcat я бы такое не оставил бы для будущих поколений, если программируете ARM то забудьте про всякие магические числа, используйте стандартную библиотеку! Это не восьмибитник, с таким подходом как cейчас вы даже АЦП нормально не настроите.
Настоятельно советую делать так:
И забудьте про всякие 0xFFFFF, не надо их в код пихать.
Настоятельно советую делать так:
Код: Выделить всё
#include <board.h>
void _delay_ms( unsigned int time )
{ volatile unsigned int waiting_time,i,j ;
for(waiting_time = 0; waiting_time < time; waiting_time++)
{for(i = 0; i < 3000; i++) //3000 для тактовой 48 Мгц
j*=i;
}
}
int main(void)
{
AT91PS_PIO pPIOA = AT91C_BASE_PIOA;
AT91PS_PMC pPMC = AT91C_BASE_PMC;
pPMC->PMC_PCER = (1 << AT91C_ID_PIOA ); //Включаем тактирование PIOA
pPIOA->PIO_OER = AT91C_PIO_PA1 | AT91C_PIO_PA2;
while(1){
pPIOA->PIO_SODR = AT91C_PIO_PA1 | AT91C_PIO_PA2;
_delay_ms(1000);
pPIOA->PIO_CODR = AT91C_PIO_PA1 | AT91C_PIO_PA2;
_delay_ms(1000);
}
}
Where technology meets enjoyment.
- Сообщения: 1800
- Зарегистрирован: Вт окт 05, 2010 01:08:57
а что нужно пихать, если нужно присвоить =0xFFFFFИ забудьте про всякие 0xFFFFF, не надо их в код пихать.
KIT
neonix Ты особо не спеши, мы ведь пока ещё чайники, придёт время и до всего дойдём 
Я конечно в ARM не спец, но знаю, что во многих кристаллах с этим ядром есть периферийное устройство "часы реального времени", вот бы его заюзать для формирования различных длительных задержек (мигание светодиодов и не только).
Да там есть такое, нацелено на использование в многозадачных осях реального времени. К сожалению нету часов реального времени, это те у которых внешние 32768 кварц и 3в литиевая батарейка, типа встроенный DS1307.
У меня вопрос к спецам. Имеет ли какое-то прикладное значение то, что на запись "1" в порт один регистр, а "0" другой? Как в моём понимании, это следствие скуривания больших количеств "дурной" травы, а не какой-то высокий смысл. И есть ли режим, в котором можно управлять портом по-человечески, просто засылая в него данные?
Neonix, ты вроде как пытался когда-то ls020 подружить с ARMом, можешь дать свои исходнички?
У меня вопрос к спецам. Имеет ли какое-то прикладное значение то, что на запись "1" в порт один регистр, а "0" другой? Как в моём понимании, это следствие скуривания больших количеств "дурной" травы, а не какой-то высокий смысл. И есть ли режим, в котором можно управлять портом по-человечески, просто засылая в него данные?
Neonix, ты вроде как пытался когда-то ls020 подружить с ARMом, можешь дать свои исходнички?
В тех АТМЕЛовских АРМах, с которыми сталкивался, есть оба способа управления ногами. А насчёт дурной травы, мягко говоря, не правы -- такой способ нередко оказывается намного удобнее.ELcat писал(а):У меня вопрос к спецам. Имеет ли какое-то прикладное значение то, что на запись "1" в порт один регистр, а "0" другой? Как в моём понимании, это следствие скуривания больших количеств "дурной" травы, а не какой-то высокий смысл. И есть ли режим, в котором можно управлять портом по-человечески, просто засылая в него данные?
Я в общем неоднократно уже давал ссылку на Функциональный генератор на базе DDS AD9954ELcat писал(а):...ты вроде как пытался когда-то ls020 подружить с ARMом, можешь дать свои исходнички?
Здесь полный исходник, как раз для ls020 и SAM7S
Шурила, спасибо, этот проект у меня есть, меня интересовала реализация именно Неоникса.
SII Честно, не могу допереть. Допустим у меня задача с максимально возможной скоростью выдвинуть какую-то последовательность констант, допустим для инициализации чего-то там не важно чего. В AVR всё просто
PORTB=00;
PORTB=0F;
PORTB=B5;
PORTB=BA;
PORTB=04;
PORTB=17;
Такая последовательность вылетит за 6 циклов ядра, у ARMа же для решения подобной задачи потребуется в два раза больше циклов. Если я не прав, то поправь меня.
SII Честно, не могу допереть. Допустим у меня задача с максимально возможной скоростью выдвинуть какую-то последовательность констант, допустим для инициализации чего-то там не важно чего. В AVR всё просто
PORTB=00;
PORTB=0F;
PORTB=B5;
PORTB=BA;
PORTB=04;
PORTB=17;
Такая последовательность вылетит за 6 циклов ядра, у ARMа же для решения подобной задачи потребуется в два раза больше циклов. Если я не прав, то поправь меня.
- Сообщения: 1040
- Зарегистрирован: Чт фев 19, 2009 17:46:34
ELcat А у меня проект на ls020 мелкий, я так его запустил по выводил буковки и остановился
Ибо в реальных проектах я его ни разу не использовал. Выложить могу там ничего секретного, просто мне надо исходник в порядок привести 
Вот чуточку подчистил исходник, выкладываю как есть )
Вот чуточку подчистил исходник, выкладываю как есть )
- Вложения
-
- ls020.rar
- (51.9 КБ) 212 скачиваний
Where technology meets enjoyment.
- Сообщения: 920
- Зарегистрирован: Ср янв 07, 2009 19:30:23
Вот сталкер говорил, что мол говно - нет кондёра-фильтра по питанию http://stalker46.nnover.ru/blog/5058305.html
Вот его конструкция - нет никаких конденсаторов. Так что...
Вот его конструкция - нет никаких конденсаторов. Так что...
- Сообщения: 920
- Зарегистрирован: Ср янв 07, 2009 19:30:23
Бугага... Я про керамику говорю. Где она ? Вот то то же и оно.
А про напряжение - не выдумывай фигню - везде одинаково.
А про напряжение - не выдумывай фигню - везде одинаково.
- Сообщения: 920
- Зарегистрирован: Ср янв 07, 2009 19:30:23
Ты писал. И в твоём устройстве их тоже нет !!!Stalker46 писал(а):плата разведена ОЧЕНЬ коряво... Где фильтрующие конденсаторы около корпуса ИС?
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
все с тобой ясно...Бугага... Я про керамику говорю. Где она ? Вот то то же и оно.
А про напряжение - не выдумывай фигню - везде одинаково.
Не умеешь - не берись, но не взявшись не научишься...


