реклама на сайте
подробности

 
 
> STR710, считать считает, а диодами не моргает
Хомячог
сообщение Apr 3 2008, 11:29
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 20-02-08
Пользователь №: 35 222



собрал проект для STR710, накидал простые вычисления, работает. Решил зажечь диоды и поиграться спикером, не
работает. Проверил значения спец регистров, все присвоенные значения на месте, проверил значения АРВ по резету, их содержимое не соответствует отраженному в мануале. проверил соответствие классов, написанных для спец регистров, адресному пространству- все впорядке. Почему порты не работают.





Код
#include </home/sid/project/71x_map.h>
void platformmain()
{
int i, o=1, pa=1;

/// светодиод
APB2->CKDIS=0x00000000;
APB2->SWRES=0x00000000;

GPIO0->PC0=0x0003;
GPIO0->PC1=0x0000;
GPIO0->PC2=0x0003;

GPIO0->PD=0x0001;

// спикер
GPIO1->PC0=0x0080;
GPIO1->PC1=0x0000;
GPIO1->PC2=0x0080;

for(o;o<500;o++)
{
if(pa==1)
{
GPIO1->PD=0x0000;
pa=0;
}
else
  {
  GPIO1->PD=0x0080;
  pa=1;
  }
}
for (;;);

}


Сообщение отредактировал Хомячог - Apr 3 2008, 11:34
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Apr 3 2008, 14:07
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Хомячог @ Apr 3 2008, 14:29) *
Почему порты не работают.

А бибика бибикает? Я с ним работал давно и недолго, но глядя в ваш исходник:
Код
GPIO0->PC0=0x0003;
GPIO0->PC1=0x0000;
GPIO0->PC2=0x0003;

// спикер
GPIO1->PC0=0x0080;
GPIO1->PC1=0x0000;
GPIO1->PC2=0x0080;
вы второй записью затираете предыдущие значения.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Хомячог
сообщение Apr 4 2008, 08:01
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 20-02-08
Пользователь №: 35 222



значения второй записи меняются в цикле (это я так привел, чтобы место не засорять, а так у меня цикл, который обеспечивает меандр), тк я не знаю от чего работает спикер, от уровня или от меандра.
далее проклевались еще проблемы:

я за основу использую иаровский проект (пользуюсь связкой гцц + гдб), в котором есть файл где созданы стандартные структуры (для модулей камня), они содержат отражения на функциональные регистры. Создал там свою структуру по образу и подобию остальных (дабы через нее писать в озу например), когда начал ее пытаться использовать в маине при компиляции получил ошибку (а при созданной структуре, при ее неиспользовании ошибки нет). При использовании стандартных структур компилируется.
Далее при попытке создать указателя также получаю ошибку.

стандартная вещь : GPIO0-> PD=0x0011 --- компилица
моя вещь : buf1->nitrid=0х0005554 --- не компилица

забиваемые значения с учетом типа данных.

указатели тоже не пускают компилица:
int* gg;
int * gg;
int *gg;


int* gg=45;
int * gg=45;
int *gg=45;

компилитор кричит: parse error
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 4 2008, 08:21
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Хомячог @ Apr 4 2008, 12:01) *
значения второй записи меняются в цикле (это я так привел, чтобы место не засорять, а так у меня цикл, который обеспечивает меандр), тк я не знаю от чего работает спикер, от уровня или от меандра.

Тогда смотрите, что получилось в ассемблере.

Цитата(Хомячог @ Apr 4 2008, 12:01) *
стандартная вещь : GPIO0-> PD=0x0011 --- компилица
моя вещь : buf1->nitrid=0х0005554 --- не компилица

Хоть бы написали, как ваша вещь - buf1 - объявлена.

Цитата(Хомячог @ Apr 4 2008, 12:01) *
указатели тоже не пускают компилица:

Напишите подробно, где и как ругается компилятор.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 12:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016