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

 
 
> передача последовательных данных с двух и более выводов порта поочередно. (C51)
dobrik
сообщение Feb 21 2009, 08:07
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 1-02-09
Пользователь №: 44 235



упрощенный пример:

sbit B=P2^0;

void serial (void)
{
B=0;
B=1;
}

В этом случае все работает.

Задача состоит в том, что нужно поочередно применить эту функцию к разным выводам (P2.0, P2.1, P2.2)
пробовал передать вывод в качестве параметра функции - не работает.
... пытался использовать указатели - на работает .
как это можно решить?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dobrik
сообщение Feb 21 2009, 15:51
Сообщение #2





Группа: Новичок
Сообщений: 7
Регистрация: 1-02-09
Пользователь №: 44 235



спасибо за информацию, попробую разобраться со структурами - раньше обходился без них, но видимо пришло время. На первый вариант с указанием адреса порта компилятор ругается ( "&" on bit/sfr illegal).
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 21 2009, 17:25
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(dobrik @ Feb 21 2009, 18:51) *
На первый вариант с указанием адреса порта компилятор ругается ( "&" on bit/sfr illegal).
Тут нужна подсказка от практикующих с x51. Я уже лет 7 для них ничего не писал. Выкладывайте Ваш код - посмотрим. Почитайте datasheet на контроллер в разделе косвенная адресация регистр DPTR или @R0... (стерлось из памяти за давностью лет) и глянте какую область памяти он может адресовать и как в памяти расположены регистры специальных функций (SFR) и порты ввода-вывода. Не должно быть проблем на мой взгляд.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post



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

 


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


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