Jump to content

    

J0hnNick

Участник
  • Content Count

    13
  • Joined

  • Last visited

Everything posted by J0hnNick


  1. Спасибо, полезный файл) попробовал по инструкции запустить, на файле С:\altera\quartus60\sopc_builder\components\altera_avalon_lan91c111\HAL\src\altera_avalon_lan91c11\.c выдается ошибка use of cast expressions as lvalues is depricated не пойму в чем дело?
  2. Чтоб не открывать новую тему пишу здесь. В наличии CycloneII_PCI_Kit-v6.0.1. Необходимо реализовать на ней прием иформации по ethernet с помощью утановленного на ней lan91c11(аппаратные MAC+PHY) Что я делаю 1 - создал проект в квартусе. 2 - в SOPC Builder создаю систему с следующими компонентами - cpu_0, pio_0, pio_1, onchip_memory, tri_state_bridge_0, lan91c111_0 3 - Сгенерировал систему, открываю NIOS II IDE 4 - Выбираю простенький проект hello_led_0, успешно компилирую. Теперь вопрос - как добавить сюда прием из ethernet ??? в квартусе есть HAL драйвера altera_avalon_lan91c111 как их испеользовать?. NIOS II handbook читал, пока не помогло((( Срочно нужно это дело запустить и в режиме эмуляции посмотреть работу. Помогите, пожалуйста.
  3. нашел полезную схему http://www.caxapa.ru/sch/pwm.html Кто нибудь видел анологичную для 0-10в ?
  4. дело в том, что могут подключаться и другие приборы с таким управлением, например лдс. а мотор Danfoss АМЕ 01, а ток и правда немного с запасом, реально 100мА. rail tp rail тут посоветовали, я с таким дела раньше не имел. А питание меги - 5в.
  5. подскажите 'операционник I/O rail to rail' чтобы повысить с 5 до 10в. нагрузка до 200ma.
  6. Спасибо за ссылки. толковые статьи. В 8меге 2 8-и битных таймера, значит я могу реализовать только 2 канала с разрядностью 256, так? Я так понял принцип работы - TCNTn увеличивается до совпадения со значением в OCRn, затем сбрасывается и счет повторяется, за счет чего регулируется длительность импульса. И там еще один 16-и битный таймер. это еще=1 канал, значит на меге8 можно реализовать только 3 канала, правильно? И еще вопрос-напряжение на выходе ЦАП регулируется от 0 до напряжения питания. а у меги оно 5в. А как получить регулировку от 0 до 10в?
  7. Хочу сказать всем спасибо большое за ответы! как я уже сказал, в документации написано - управление с помощью сигнала, модулированного по напряжению. (0-10в). Я так понимаю там внутри аналоговый диммер.
  8. Команды от 485 принимаются. разрядность 128, нужно 4 канала. R-2R это что?
  9. необходимо управлять редукторным приводом с помощью сигнала, модулированного по напряжению. в приводе своя схема управления. необходимо сформировать управляющий сигнал внутри меги8. как это сделать представяю очень смутно, хотя читал и про шим, и про таймер TWI. Подскажите в кратце суть, а дальше я уж разберусь.
  10. помогите пожалуйста! срочно надо решить вопрос! создаю сумматор и вычитатель с помощью визарда из LPM_ADD_SUB. Числа знаковые. в хелпе написано что по-умолчанию работает с ними. На всякий случай прописал LPM_REPRESENTATION => "SIGNED" В результате такая чушь: a=1; b=-1; a+b =-2, a-b=-127. в чем может быть причина? заранее спасибо!
  11. на эту функчию получаю в компиляторе winavr ошибки C:\WinAVR\projects\Can_Int/main.c:143: undefined reference to `TxHandler' C:\WinAVR\projects\Can_Int/main.c:127: undefined reference to `Reset' C:\WinAVR\projects\Can_Int/main.c:132: undefined reference to `RxHandler1' C:\WinAVR\projects\Can_Int/main.c:133: undefined reference to `RxHandler2' C:\WinAVR\projects\Can_Int/main.c:134: undefined reference to `RxHandler3' как их исправить?
  12. про обработку- это следу моих экспериментов с номерами прерываний. Изначально все совпадало, но все равно не работало.
  13. Не могу разобраться с прерываниями. Контроллер at90can128, компилятор WinAVR. Подскажите, пожалуйста, что не так. Программка простейшаю-хочу зажечь светодиод по нажатию кнопки о потушить по отпусканию. ps Делал аналогичную программу на STK200-все отлично в реале работает. #include <stdio.h> #include <avr/interrupt.h> #include <AVR/io.h> #include <stdlib.h> #include <AVR/iocanxx.h> #include <avr/iocan128.h> #include "global.h" // include our global settings ISR (INT0_vect) // обработчик прерывания INT0 { EIFR = 0x00; PORTB &= ~(1<<PORTB0); } ISR (INT1_vect) // обработчик прерывания INT0 { EIFR = 0x00; PORTB &= (1<<PORTB0); } int main(void) { DDRB=0xFF; // порт B настроен на выходы PORTB=0xFF; DDRE=0x00; // порт E настроен на вход PORTE=0xFF; // порт E подтянут к VCC EICRB = 0b11100000; EIMSK = 0b11000000; SREG = 0b10000000; //global interrupt en for(;;) { } return 0; }