Перейти к содержанию
    

alexan300

Участник
  • Постов

    159
  • Зарегистрирован

  • Посещение

Весь контент alexan300


  1. Я вот скачал Мартина, но книжка про филипс арм7...оно как соотносится с атмеловским армом??
  2. Данке шон! Понял что С это не иар)).. в институте например был дэлфи, щас установлен еще DEV C... А Редькин это что то вроде Шпака?? эти книги втопку я где то слышал?))
  3. Добрый вечер уважаемые! Подскажите литературу по программированию в Си арм процессоров в IAR (желательно) только на русском языке. Ни как немогу соеденить знания данные книгои Риччи и документацией на АРМ процессоры, как то сумбурно все получается. В отдельных участкаэх кода взятого из примеров вроде все понятно, а вот самому что то выдумать (модернезировать) ну никак не выходит, не могу понять как
  4. unsigned char- на это он и ругается, я просто сам не правильно в форум текст перенес) v на V я заменил первым делом, после же первых матюков компилятора. А результа я еще не добился, пока все на уровне ПК, бинарник я еще не скомпилировал..ибо ругается.. Сначало хочу все отточить в компе. а уж потом перенсести в процессор. Подскажите, если я переменныи резистор на 100ком буду использовать в делители на входе, не слишком ли большой номинал, не слишком ли малые токи я получу, отреагирует ли МК на них???
  5. unsigned char* CalcVolt(unsigned int volt) { float V; V = (float)volt * 3.3/1024; sprintf((char *)res,"Volt %0.2f V",V); заменил на void CalcVolt( unsigned char * buf, unsigned int Volt) { float V = (float)volt * 3.3/1024; sprintf( buf ,"Volt %0.2f V",V); } компилятор ругается на "unsignet char" Большое спасибо за обьяснения, но как Вы видите, форум посвещается начинающим)) Отдельные фразы я понимаю, но вот смысл всего вобщем от меня пока еще ускальзает) Правильно ли я выбрал способ изменять частоту моргания? *AT91C_PIOA_SODR = BLINK_BIT; for(i = 0; i < 1000000; i++); Delay(V); *AT91C_PIOA_CODR = BLINK_BIT; for(i = 0; i < 100000; i++); Delay(V); изменяя время задержки.
  6. Здравствуйте уажаемые господа! наверно многие читали мои "крик души" в теме " как прошить AT91SAM7S256". Данное дело получило логическое развитие, а именно сеичас интерес мои к даннои плате все возрастает и вопросов соответвенно все больше. Усиленно изучаю книгу "Карнигана и Ричи", но как то тяжело перенести Си команды на использование их в МК. Но ладго, это лирическое отсупление. имею следующий код, компилирумый без ошибок, но с 3 предупреждениями. #include "AT91SAM7S64.h" #include "stdio.h" #include "usart.h" #include "adc.h" #include "system.h" #include "string.h" #define BLINK_BIT (1UL << 8) void Delay (unsigned long a) { while (--a!=0); } //MAIN POINTER AT91PS_PIO m_pPio = AT91C_BASE_PIOA; AT91PS_ADC m_pADC = AT91C_BASE_ADC; AT91PS_RSTC m_pRSTC = AT91C_BASE_RSTC; //AT91PS_PIO p_pPio = AT91C_BASE_PIOA; AT91PS_PMC p_pPMC = AT91C_BASE_PMC; //it's a simple delay //void Delay (unsigned long a) { while (--a!=0); } unsigned char* CalcVolt(unsigned int volt); unsigned char res[12];//переменная без знака 1 ьаит. int main() { /**** System init ****/ InitFrec(); InitADC(); /**** UART ****/ //InitUSART0(); // InitUSART1(); //Initialization InitPeriphery(); while(1)//оператор уикла?? { //check button 2 pressed if(!((m_pPio->PIO_PDSR) & BIT20)) { //ClearTerminal(); CalcVolt(GetValue_chanel4()); // write_str_USART1(res); Delay(900000); } } } unsigned char* CalcVolt(unsigned int volt) { float V; V = (float)volt * 3.3/1024; sprintf((char *)res,"Volt %0.2f V",V); volatile int i; for(;;) { *AT91C_PIOA_SODR = BLINK_BIT; for(i = 0; i < 1000000; i++); Delay(V); *AT91C_PIOA_CODR = BLINK_BIT; for(i = 0; i < 100000; i++); Delay(V); } return 0; } Прошу помощи знатоков, что тут лишнее, чепго не хватает, может както можно упрастить сию задачу? Данный код был изобретен сращением двух примеров. Задача, создать зависимость между частотои моргания 8 ноги, от поожния переменного резистора, подключенного к 20 ноге.
  7. Спасибо на последнии пост можно не отвечать я разобрался в чем проблемма.
  8. Да меняется проверил светодиодм. при нажатии 0. а так всегда 1. вот еще вопросик.. Уровень, выдаваемый на линию, задается записью в регистр PIO_SODR а где мы задаем этот уровень? PIOA_CODR = BLINK_BIT этим выражением мы сбрасываем этот бит. может мы туда всегда 0 записываем, вот и горит 8 я нога всегда? и тут же в 0 сбрасываем. сорри если делитанство пишу)))
  9. РаботаЮщего там нет фаила дык не могу я с расширениемя прикладывать..форум пишит-запрещено.. приходится открывать код в блокноте и высылать( код высланный aaarrr компилируется без ошибок.но не реагирует мк на нажатие. ) хочу вот что заметить по поводу предыдущего кода..(в рамках своеи компетенции)) у меня такое чувство что кнопка Р0 всегда "нажата", на неи 0, и поэтому 8 всегда горит. что то наверно с pull-up??? или я что то путаю?
  10. ____.txtвот main и map. а где листинг прячется? в каталоге лист? если там пусто то как его туда записать? к сожалению пришлость поменять расширение ибо запрещено мне загружать другие. вот сделал лист..фаил он первый main1.txt ___.txt
  11. Смотрю что могу здесь gaw англииский хожу учу на курсы. в школе-техникуме-институте был немецкии ну нету скобок..все обыскал. рад бы приложить скрин экрана но никак(
  12. Чест слово ругается на все строки( даже на if. может что то в библиотеках? но я их вроде все подключил\отключил. все перепроверил.
  13. PDSR позволяет через этот регистр узнать уровень на входе .) так вс еже что значит: expeсted a "(" и & BIT19 это какая ножка?? как пересчитать на нормальный язык?
  14. //check button 2 pressed if(!((m_pPio->PIO_PDSR) & BIT20)) { а вот это к какои кнопке относится ? я так понимаю бит 20?? или же все таки к PDSR?-но такое название в описании я ненашел(( //MAIN POINTER AT91PS_PIO m_pPio = AT91C_BASE_PIOA; AT91PS_RSTC m_pRSTC = AT91C_BASE_RSTC; я так думаю эта часть кода делает то же самое что и *AT91C_PIOA_PER = KEY; // Перевели вывод в режим PIO *AT91C_PIOA_ODR = KEY; // Переключили на вход *AT91C_PIOA_PPUER = KEY; // Разрешили pull-up *AT91C_PIOA_IFER = KEY; // Включили входной фильтр AT91C_PMC_PCER = 1UL << AT91C_ID_PIOA; ругается на это(( expekted a "("
  15. честно говоря пока не подключена..только сделал саму кнопку и резистор ксати 180 ом нармально последовательно впаять или же маловато?? подключу на PIO вывод допустим 1. я так думаю..сначало надо прказать выводу 1 стать входом 1. второи конец кнопки на землю через сопротивление ?? адальше как в резете?? вот читаю что то вроде даташита: нагрузочная способность ра0-ра3 до 16 мА. наверно все таки маловато 180 ом. (или фиг с ним там еще в мк есть встроеное сопротивление?) а какое максимальное сопротивление можно включить что бы мк реагировал на нажатие??
  16. эээ.. а как мне отследить реакцию на нажатие кнопки ?? void Delay (unsigned long a) { while (--a!=0); } int main() { //Enable RESET AT91C_BASE_RSTC->RSTC_RCR = 0xA5000008; AT91C_BASE_RSTC->RSTC_RMR = 0xA5000001; Delay(1000); по анологии?? или же все таки RSTC это сугубо к резету??
  17. УРА!! после изменения в линкере расширение фаила обратно на OUT у меня появился на выходе в папке ехе, рабочии бинарник, который упешно загрузился и заработал в мк..конечно вижу определенный геморои с постояннои перезагрузкои проца для запуска исполняемои программы и обратно для определения виндусом. успешно запустилась моя первая модифицированная програамма!! большое всем спасибо!!!!!!
  18. да я уже нашел эту вкладку. аутпут конвертер, аутпут формат: бинари, аутпут фаил: блинк бин. ради эксперемента я спрятал Ваш бинарник в другую папку, и надеился что после компиляции у меня появится новый блинк бин, но он почемуто не появляется. из чего я сделал вывод что что то внастроиках уменя нетак((
  19. Еще замметил следующее.. бинарник создаваемый моим ИАРом имеет в своем составе бинарник присланный aaarrr ом.. хмм..стоит задуматься. что в настроиках моего ИАРа добавляет в бин фаил еще код..?
  20. Так может я не так пытаюсь создать бин фаил? я в настройках линкера меняю разрешения фаила с out на bin..как написано в книге Редькина. бин бину рознь чтоли? Да в каталоге ехе я нашел бинарник,он успешно все прошивает..но если я пытаюсь на основании Ваших фаилов создать новый бинарник, то ничего не выходит. Как будто я что то ни так делаю) Я же и пишу, что сначало ни чего не менял. это потом уже от без исходности Разница думаю более менее ясна."Правильный " бинарник то прописывается и выполняется) Да деиствительно ,бинарник получаемый из ...out, при изменение в закладке линкера output на разрешение bin не соответсвует тому что мне прислал aaarrr. и вразмерах в 10 раз больше. Подскажите пожалуйста, как мне настроить ИАР на создание бин фаила?
  21. blink.bin а было расширение ..out сампрог он же не через юсб прописывает?? чесно говоря бинарника я что то не нашел после разахивирования..щас еше проверю. да Ваш бинарник работает..я заметил странность..что когда я создаю бин фаил и при записи смотрю на него в самбе, то вижу один код (самое начало) а когда чеи то заведомо рабочии то другое начало фаила..странно..
  22. Большое спасибо! проект открыл, все фаилы к проекту подключены. сначало сделал все как у вас, только в линкере изменил расширение фаила на бин. откомпелировал. debug и relase. получил в папке ехе бинарник. записал его в мк самбои.. проверил. все без ошибок. отключил юсб шнур..включил, реакции 0((затем также резетом, что конечно бесполезно но на всякии случаи затем полез в опции, заменил ARM7TDI на AT917SAM256..снова откомпилировал..опять 0.. записываю с 0х100000, вкладка флеш.. Нучто я еще мог пропустить!!!!???((
  23. ну нету у меня джатага..и утилиты соответсенно тоже..есть самба есть ИАР, есть юсб шнур и плата отладочная. на РА 8 как раз светодиод висит.. а что будет если я этот бинарник запишу в область памяти МК 0х0 EEPROM или же в SRAM 0x200000 ? последнии вопрос отменяется..попытки записи туда не удались и окончились зависанием.. Модератор (rezident). За систематическое нарушение п.3.4 Правил форума (излишнее цитирование) выношу Вам предупреждение. Пользуйтесь уже наконец встроенным редактором сообщений перед их отправкой! P.S. Личную почту хоть иногда нужно читать.
  24. Да вот елы палы! не один стартап не компилируется с программой! даже если я беру образец с рабочим бинарником (светодиод моргает у меня), то при открытии проекта во время компиляции выскакивают ошибки на стартап..я уже и комбинировал свои С код с различными стартапами, взятыми из разных источников, четко следил где находится этот фаил, дабы на него все пути указывали, что бы он сам рядшком лежал с маин и прочими фаилааи..но все равно ошибки при компиляции!! я даже версию другую ИАРа скачал, все одинаково. что они делают я понял..инициализируют процессор и передают управление во флеш программу. вон..щас вообще рекорд(((554 ошибки и почти все в стартапе((там и стро то столько нету вобщем не видать мне щастья... а кстати..какои стартап нужный???как это узнать?.....s79 или же ....c
  25. Народ гляньте пожалуиста кто может..запускается проект, бинарник создает работающий? у меня создает, записывается в МК, но опять не выполняется.. Вышеназванную версию ИАРа пока качаю. стартапа там кстати нету.
×
×
  • Создать...