Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


Результаты опроса: Запуск "на коленке" часть 2. Что дальше будем обсмакивать?
RTC (часы реального времени) 119 11.41%
USB 540 51.77%
Базовые навыки работы с портами ввода-вывода 247 23.68%
АЦП 108 10.35%
ЦАП 29 2.78%
Голосовавшие: 1043. Вы ещё не голосовали в этом опросе

 
Опции темы
Непрочитано 27.12.2010, 00:30  
ENsg-1
Прохожий
 
Регистрация: 09.09.2010
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ENsg-1 на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Разбираюсь с USB. Используя стандартный пример из библиотеки IAR "usb-device-hid-transfer-project".
Пытаюсь передавать принимать данные. Прием происходит без проблем, а вот передать данные в мк никак не получается.
ПО хоста на основе книги Агурова "Интерфейс USB" в delphi.
Что упустил из виду?
Код:
// Получаем информацию об интерфейсе мк
   Success := SetupDiEnumDeviceInterfaces(PnPHandle, nil, HidGuid, AtmelIndex, DeviceInterfaceData);
   begin
     //  Открываем Hid-устройство в режиме чтения и записи
        HidHandle:= CreateFile(PChar(@ATMELHidName[1]),
              GENERIC_READ or GENERIC_WRITE, //
              FILE_SHARE_READ or FILE_SHARE_WRITE,
              nil,
              OPEN_EXISTING, 0, 0);

     lbLog.Items.Add('Открыли AT91SAM7');
             AssignFile(Varfin,'sin2.dat');
              Reset (Varfin); // открыть файл для чтения
             for i:=0 to 33 do
                 write(Varfin,bufout[i]);
               CloseFile(Varfin);
             // передаем данные  10 раз
              for i:=1 to 10 do
        begin
             if ((WriteFile(HidHandle, bufout,32,iread,nil)))    then
               lbLog.Items.Add('Данные переданы')
             else
               lbLog.Items.Add('Данные  не переданы');

              // считываем данные
             if (ReadFile(HidHandle, bufin, 33, iread, nil)) then
                begin
                  lbLog.Items.Add('Данные прочитаны');
                  lbLog.Items.Add(Format('данные =%d',[bufin[2]]));

                end

        end;
      end;
Реклама:
ENsg-1 вне форума  
Непрочитано 10.01.2011, 12:39  
XRuZzz
Частый гость
 
Регистрация: 12.10.2010
Сообщений: 14
Сказал спасибо: 2
Сказали Спасибо 2 раз(а) в 1 сообщении
XRuZzz на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от kison Посмотреть сообщение
А чисто программно ничего не испортить, всегда можно стереть все и записать правильную программу.
А вы не могли бы прочитать? https://kazus.ru/forums/showthread.php?t=28820
XRuZzz вне форума  
Непрочитано 10.01.2011, 16:26  
akimych
Прописка
 
Регистрация: 02.01.2011
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 32 раз(а) в 28 сообщении(ях)
akimych на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Заметил забавный кусок кода
Цитата:
Код:
Reset (Varfin); // открыть файл для чтения
             for i:=0 to 33 do
                 write(Varfin,bufout[i]);
akimych вне форума  
Непрочитано 10.01.2011, 19:51  
Vallav
Временная регистрация
 
Регистрация: 09.07.2005
Сообщений: 91
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Vallav на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от Snacker Посмотреть сообщение
Ну, к примеру, у арм7 есть семь режимов работы процессора, которые кодируются пятью битами, т.е. 32 варианта, что гораздо больше семи. При желании, с помощью асемблера и такой-то матери можно попробовать ввести процессор в недокументированное состояние. Это один пример, но если внимательно почитать мануал, то можно и другие дырки найти. Сишный компилятор сконструирован так, что он в принципе таких вещей делать не будет.
Вы исследовали, что будет, если включить один из оставшихся
25 вариантов и нашли режим, в котором при 72 МГц тактовой
можно читать порт и писать в кольцевой буфер в ОЗУ с частотой 20
МГц?
Или просто распаралелили свои 8 бит в 32 и читаете порт/пишите в кольцевой
буфер 32 бита с частотой 5 МГц?

Если второе, то это не интересно.
Да и первое - не очень, этот проц уже сильно устарел.
Щас в моде кортексы - с однотактовым вводом из порта на частоте 120 МГц.

Кстати, затронутый здесь вариант - читать из порта в регистры представляет
интерес. Хоть длина записи получается всего 13 слов ( SP трогать нельзя,
так как выход будет по прерыванию ), в случае, еесли это используется
в стробоскопе - при умножении на 16 длина кривой получается вполне
ничего - 208 точек при эффективной частоте выборок 120*4*16 MSPS.
Vallav вне форума  
Непрочитано 12.01.2011, 18:30  
ritmauto
Частый гость
 
Регистрация: 11.12.2010
Сообщений: 10
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
ritmauto на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от kison Посмотреть сообщение
Так же. Запускаем таймер в свободный полет. Потребовался интервал - считываем счетный регистр, добавляем к считанному значению задержку, полученное в регистр сравнения выбранного канала и разрешаем прерывания от совпадения. Если нужна цикличная задержка - в обработчике считываем уже значение регистра сравнения, добавляем задержку и обратно в регистр сравнения.
Абалдеть. Ну и гемморой.
Так это получается ничем не отличается от обычного таймера без всяких каналов сравнения, как в каком-нибудь вшивом ПИКе. На котором можно дополнительными регистрами получить любою нужную кратную задержку и организовать разнопериодные счетчики.
Так в ПИКе при этом есть несколько независимых таймеров , которые настроил раз и забыл.
А тут всего один. Н-да... не ожидал от АРМа, честно говоря.
ritmauto вне форума  
Непрочитано 12.01.2011, 19:08  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от ritmauto Посмотреть сообщение
Абалдеть. Ну и гемморой.
Так это получается ничем не отличается от обычного таймера без всяких каналов сравнения, как в каком-нибудь вшивом ПИКе. На котором можно дополнительными регистрами получить любою нужную кратную задержку и организовать разнопериодные счетчики.
Так в ПИКе при этом есть несколько независимых таймеров , которые настроил раз и забыл.
А тут всего один. Н-да... не ожидал от АРМа, честно говоря.
Честно говоря не ожидал таких выводов. От человека даже в документацию заглянуть поленившегося. Таймеров два. По 4 канала в каждом. Каждый канал почти не отличается от таймера во "вшивом ПИКЕ", правда они 32 разрядные. Ну и есть еще PWM модуль на 6 каналов. А что Вы ожидали то? От контроллера, который стоит как тот самый ПИК? Да и все равно разрядность в 32 бита дает известные преимущества. Например можно чисто аппаратно дрыгнуть ногой через 5 секунд с точностью до 1 такта таймера. В том же ПИКЕ это потребует отслеживать переполнение таймера программно. Мне лично 8 каналов хватает за глаза. Пока недостатка таймеров не ощущал.
kison вне форума  
Непрочитано 13.01.2011, 11:37  
Vallav
Временная регистрация
 
Регистрация: 09.07.2005
Сообщений: 91
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Vallav на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от kison Посмотреть сообщение
Честно говоря не ожидал таких выводов. От человека даже в документацию заглянуть поленившегося. Таймеров два.
Это в каком кортексе всего два таймера?
Или Вы имете в виду, что два тайсера общего применения, остальные
все с прилагательными?
Vallav вне форума  
Непрочитано 13.01.2011, 13:52  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от Vallav Посмотреть сообщение
Это в каком кортексе всего два таймера?
При чем тут Кортекс? Если пройти по цитатам вверх придем к https://kazus.ru/forums/showpost.php...&postcount=695
kison вне форума  
Непрочитано 17.01.2011, 16:27  
serb-radio
Гражданин KAZUS.RU
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Господа знатоки, тут у меня такой вопрос. Сделал девайс на базе LPC2366, все работает замечательно, вот токо ток потребления проца черезчур великоват около 150мА при частоте 24Мгц (включеы таймера, ШИМ и SPI), поотрубал ненужную периферию - особо легче не стало. Даташит смотрел, о токе потребление особо ничего. Вопрос к людям работаюми с данными процами как снизить ток потребления девайса или такое потребление на такой частоте это нормально.
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 18.01.2011, 20:11  
motoriklol
Прохожий
 
Регистрация: 18.01.2011
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
motoriklol на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Помогите люди добрые!!! у меня возникла проблема с мк ЛПС1768. На выводах всех портов напряжение 2.3В. пробовал отлаживать в ИАР с помощью jetseven, доходит до подключения генератора к ядру и на этом шаге выскакивает ошибка связаная со стеком. 3.3 вольта поданы на аналоговые выводы питания. что это может быть?
motoriklol вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 07:38.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot