роботы робототехника микроконтроллеры


 Страниц (5): « 1 2 [3] 4 5 »   

> Без описания
skyburn Post Id



Маршал


Сообщений всего: 124
Дата рег-ции: Янв. 2011  



ммм сам контроллер в принципе работает, передает нормально вроде. Мне нужно теперь на делфи написать программу которая б общалась с МК
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



skyburn пишет:
нужно теперь на делфи написать программу которая б общалась с МК
возмите один из этих модулей

я пользовал TComPort v.3.1
в нём, как и во многих, есть "рыба", из неё уже слепите что нибдуь.
 
 Top
skyburn Post Id



Маршал


Сообщений всего: 124
Дата рег-ции: Янв. 2011  



Спасибо.
Еще вопросик. К примеру есть байт 0х10101010, как мне его по 1 биту запихать в сдвиговый регистр? Ну как бы разложить байт на 8 бит
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



skyburn пишет:
есть байт 0х10101010, как мне его по 1 биту запихать в сдвиговый регистр? Ну как бы разложить байт на 8 бит
зачем?
кстати, двоичная запись так 0b00000000
 
 Top
skyburn Post Id



Маршал


Сообщений всего: 124
Дата рег-ции: Янв. 2011  



Ну к примеру у меня будет массив 2х16 который хранил бы всю мою матрицу, объемом 256 бит
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



я имел ввиду, зачем вам выдвигать биты в регистр. В какой регистр? В наружную микросхему?
Если да - то можете приспособить железный SPI от микроконтроллера.
Или вручную байт выдвигать, тут вариантов много,
зависят от языка. А вы его не назвали Улыбка
 
 Top
skyburn Post Id



Маршал


Сообщений всего: 124
Дата рег-ции: Янв. 2011  



ммм, извините не уточнил, я о сдвиговых регистрах. Их у меня 4. То есть что б их заполнить нужно 32 бита, то есть 4 байта.
Пользуюсь CodeVisionAVR.
И еще, подскажите дельную статью о прерываниях. А то, что то тоже не могу ничего нормального найти.
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



Удобнее будет использовать SPI модуль самого МК, если его ноги ещё не заняты.
Или руками:
- берём байт

- выводим его седьмой бит на выбранную ногу
- дрыгаем ещё какой то ногой - это будет наш КЛОК-сигнал
- сдвигаем байт влево на один бит (т.е. умножаем на два) (шестой бит ставится на место седьмого)
- опять дрыгаем ещё какой то ногой-КЛОК
ещё сдвигаем...
ещё дрыгаем ...

и так восемь битов выводим "наружу".
а потом можно взять след. байт Улыбка

В общем ... посмотрите, как сдвиговые регистры работают.

А про прерывания ... а что с ними? Спрашивайте.
 
 Top
skyburn Post Id



Маршал


Сообщений всего: 124
Дата рег-ции: Янв. 2011  



Точно! Спасибо! Почему то сразу не сообразил, что можно конфигурировать порт байтом))
Не, как работают сдвиговые регистры я уже хорошо разобрался =) Спасибо)) Буду Делать =)

А по прерываниям вообще ничего не понятно. Не могу найти статей нормальных. А если и находил, то там ассемблер, а я с ним вообще не дружу. Так что мне для С компиляторов.
 
 Top
skyburn Post Id



Маршал


Сообщений всего: 124
Дата рег-ции: Янв. 2011  



А подскажите команду при помощи которой можно вывести 7й бит на выбранную ногу. А то что то я не могу сообразить.
 
 Top
mihail Post Id



Гуру


Сообщений всего: 1065
Дата рег-ции: Март 2010  



CODE:
unsigned char data = 0b11000011;
PORTD &= 0b11111110;
PORTD |= ((data >> 7) & 0b00000001);
На PD0 будет седьмой бит data.
 
 Top
skyburn Post Id



Маршал


Сообщений всего: 124
Дата рег-ции: Янв. 2011  



Большое спасибо =))
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



mihail пишет:
CODE:
unsigned char data = 0b11000011;
PORTD &= 0b11111110;
PORTD |= ((data >> 7) & 0b00000001);
На PD0 будет седьмой бит data.

интересно посмотреть, что там компилятор накомпилирует ...
 
 Top
skyburn Post Id



Маршал


Сообщений всего: 124
Дата рег-ции: Янв. 2011  



ммм да я пока по проще сделал. Сам так сказать разобрался.
ммм у меня дата идет по порту В с 0вой ножки. Так что генерирую такт я с Д порта. Могу попробовать ваш вариант Только вот над перепаять обратно)

Еще вопросик, не пойму что за такое с этим ЮСБ шнуром. Все работало еще вчера отлично. Иногда почему то шел нераборчивый фарш по Юарту. Но сейчас вообще кошмар. Подключаю шнурок, подключаюсь к нему программой Terminal, и он начинает принимать с воздуха ноли, при этом не подключенный к плате.
Шнурок вот такой -
http://www.getchip.net/posts/067...tel-usb-to-uart/
(Добавление)
С проводом по моему разобрался. ТАм что то коротит, над будет перепаять его
 
 Top
skyburn Post Id



Маршал


Сообщений всего: 124
Дата рег-ции: Янв. 2011  



ммм можете подсказать, какой тип данных использовать при отправке данных из делфи в МК?
 
 Top
Страниц (5): « 1 2 [3] 4 5 »
« Программирование микроконтроллеров »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru