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

 
 
 
Reply to this topicStart new topic
> microC. Доступ к отдельным битам
Specialist
сообщение Jun 25 2008, 07:52
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 25-06-08
Пользователь №: 38 539



Код
void main() {
  TRISD = 0;
  PORTD = 0;
  PORTD.f0 = 1;
  PORTD.f1 = 1;
}

В симуляторе только светодиод на порту RD1 горит. Получается, что
Код
PORTD.f1 = 1;
очищает все остальные биты ? Как мне отдельно устанавливать биты ?
Go to the top of the page
 
+Quote Post
asmon
сообщение Jun 25 2008, 08:00
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 20-03-07
Из: Днепродзержинск
Пользователь №: 26 344



Думаю тут не в компиляторе проблема. Если 18-й пик, то нужно LATD использовать. Если 16-й, я бы ввёл дополнительную переменную, можно всё красиво в виде структуры с соответствующими полями сделать, менял сначала нужный бит в этой переменной и записывал её в порт. Точно помню, что так делал с PORTA. Он тоже "не запоминает" биты.
Go to the top of the page
 
+Quote Post
Specialist
сообщение Jun 25 2008, 09:22
Сообщение #3





Группа: Новичок
Сообщений: 6
Регистрация: 25-06-08
Пользователь №: 38 539



Огромное спасибо!
Я только игрался с 16F84A и то на АСМе, а сейчас у меня пик 18F4550, пытаюсь на си кодить.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:37
Рейтинг@Mail.ru


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