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

 
 
 
Reply to this topicStart new topic
> Возможно ли сделать двунаправленную шину в MSP430F1611, а так же управление каждой ногой в отдельности
Iskander
сообщение Aug 10 2006, 07:20
Сообщение #1





Группа: Новичок
Сообщений: 14
Регистрация: 10-05-06
Пользователь №: 16 940



ПАмагите!!!
Возможно ли сделать двунаправленную шину в MSP430F1611, а так же управление каждой ногой в отдельности

и почему если я устанавливаю к примеру
P1OUT=BIT1
просиходит сброс предыдущего состояния и вообще при каждой симуляции (в отладчике) просиходит фигня какая то , биты выставляются как попало.
Заранее пасиба, если кто подскажет что то по этому поводу.


=====================
перенес отдельной темой. VAI
Go to the top of the page
 
+Quote Post
VAI
сообщение Aug 10 2006, 13:07
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Можно сделать и двунаправленную шину и дрыгать каждой ногой в отдельности.
более подробно охарактеризуйте задачу и приведите код.


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 10 2006, 13:35
Сообщение #3


Гуру
******

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



Цитата(Iskander @ Aug 10 2006, 10:20) *
и почему если я устанавливаю к примеру
P1OUT=BIT1
просиходит сброс предыдущего состояния
А чего вы ожидали? он и записал в P1OUT байт из 7 нулей и одной единицы. Если вы хотели выставить только один бит, а остальные оставить как есть, то надо писать P1OUT |= BIT1. А если сбросить - P1OUT &= ~BIT1;


--------------------
На любой вопрос даю любой ответ
"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
rezident
сообщение Aug 10 2006, 13:52
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Можно. Для вывода установите нужные пины на вывод, записью 1 в соответствующих разрядах в регистр PxDIR. Для ввода установите нужные пины на ввод, записью 0 в соответствующих разрядах в регистр PxDIR. Управляя выводом пишите в PxOUT. Считывайте при вводе из PxIN. Для управления отдельными битами накладывайте маску, как Сергей посоветовал, а не пишите напрямую в регистр.
Установить бит x: PxOUT|=BITx;
Сбросить бит x: PxOUT&=~BITx;
Установить группу бит (напр. 0, 2, 5): PxOUT|=BIT0+BIT2+BIT5;
Сбросить группу бит (напр. 0, 2, 5): PxOUT&=~(BIT0+BIT2+BIT5);
А вообще на такие вопросы надо отвечать RTFM! wink.gif

Сообщение отредактировал rezident - Aug 10 2006, 13:53
Go to the top of the page
 
+Quote Post
Iskander
сообщение Aug 10 2006, 15:03
Сообщение #5





Группа: Новичок
Сообщений: 14
Регистрация: 10-05-06
Пользователь №: 16 940



Спасибо за оперативность!
А резиденту в особенности за последнюю пару строк( PTFM не понял что это)
просто неуверенность в своих действиях рождает вопросы.
Еще глупый вопрос:
а возможно ли полвесить отдельные ножки в z-состояние
вроде бы PnSEL=1 не определяет направленность порта
тогда P1SEL=BIT0 для нулевого бита ?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 10 2006, 15:23
Сообщение #6


Гуру
******

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



Цитата(Iskander @ Aug 10 2006, 18:03) *
Еще глупый вопрос:
а возможно ли полвесить отдельные ножки в z-состояние
вроде бы PnSEL=1 не определяет направленность порта
тогда P1SEL=BIT0 для нулевого бита ?
С точки зрения внешних устройств ножка настроенная на ввод ничем не отличается от ножки в третьем состоянии. Поэтому в третье состояние переводим сбрасывая бит в PxDIR, т.е. переводя ногу в режим ввода. PxSEL нужен совсем для другого - он подключает к ножке вместо PxDIR, PxOUT, PxIN соответсвующий периферийный модуль.


--------------------
На любой вопрос даю любой ответ
"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
Iskander
сообщение Aug 10 2006, 15:40
Сообщение #7





Группа: Новичок
Сообщений: 14
Регистрация: 10-05-06
Пользователь №: 16 940



Пасиба.
Пока что вопросы исчерпаны
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 10 2006, 16:42
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Толкование RTFM. smile.gif
Я имел в виду, что вам, Iskander, нужно внимательнее читать MSP430x1xx User's Guide. Если проблемы с английским, то есть частичный перевод на русский. Или вот - купите или скачайте книжку Семейство микроконтроллеров MSP430x1xx: руководство пользователя с сайта российского дилера TI фирмы Компэл

Сообщение отредактировал rezident - Aug 10 2006, 16:44
Go to the top of the page
 
+Quote Post

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

 


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


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