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

 
 
> Передача в качестве параметра порта ввода-вывода, как?
AlexMad
сообщение Oct 7 2007, 17:23
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Есть набор функций работы с однопроводными устройствами,вроде
Код
#define ONEPIN       PINC // PIN register
#define ONEDDR       DDRC // Data Direction Register
#define ONEPORT      PORTC// PORT

unsigned char OneWireReset(unsigned char mask)
{
ONEPORT &= ~(mask);                 // Normal input no pull up
if (ONEPIN == 0) return 0;        // detect 0V on buss error
ONEDDR |= mask;                        // out at 0
  delay_us(500);
ONEDDR &= ~(mask);                  // Set to input
  delay_us(70);
if ((ONEPIN & mask) == 0)
   {
     delay_us(500);
   return mask;
   }
mask&=~ONEPIN;  
  delay_us(500);
return mask;
}

Работают замечательно, НО в железе есть восемь датчиков DS18b20, подключенных к одному порту (PORTC) и еще один датчик, подключенный к другому порту. Пробовал переделать функции так, чтобы рабочий порт можно было передавать, как параметр в функцию, но либо я чего-то не допер, либо это невозможно. На текущий момент предыдущим разработчиком просто сделан второй набор функций, где они работают с другим портом. На мой взгляд это не совсем правильно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AlexMad   Передача в качестве параметра порта ввода-вывода   Oct 7 2007, 17:23
- - rezident   Почему это по-вашему неправильно? У вас нехватка п...   Oct 7 2007, 17:55
|- - AlexMad   Цитата(rezident @ Oct 7 2007, 21:55) Поче...   Oct 7 2007, 18:18
|- - rezident   Цитата(AlexMad @ Oct 8 2007, 00:18) Непра...   Oct 7 2007, 18:40
|- - AlexMad   Цитата(rezident @ Oct 7 2007, 22:40) Дык ...   Oct 7 2007, 18:54
- - ReAl   В avr-gcc нормально передаются указатели на порты,...   Oct 7 2007, 19:58
|- - AlexMad   Цитата(ReAl @ Oct 7 2007, 23:58) Учитывая...   Oct 8 2007, 04:48
|- - ReAl   Цитата(AlexMad @ Oct 8 2007, 06:48) Я с х...   Oct 8 2007, 08:36
|- - prottoss   Цитата(AlexMad @ Oct 8 2007, 12:48) А вот...   Oct 8 2007, 09:12
- - prottoss   Всем известно (надеюсь), что адреса портов находят...   Oct 8 2007, 02:20
- - defunct   В общем случае я бы вероятно сделал так: создал бы...   Oct 8 2007, 10:54
- - rezident   2 ReAl, в сообщении #6 вызывает сомнение, должен л...   Oct 8 2007, 13:20
- - ReAl   Цитата(rezident @ Oct 8 2007, 15:20) долж...   Oct 8 2007, 13:38
- - singlskv   Цитата(ReAl @ Oct 8 2007, 17:38) Собствен...   Oct 8 2007, 16:19
- - rezident   Цитата(singlskv @ Oct 8 2007, 22:19) Объя...   Oct 8 2007, 16:42
|- - singlskv   Цитата(rezident @ Oct 8 2007, 20:42) Пото...   Oct 8 2007, 16:51
- - ReAl   Цитата(singlskv @ Oct 8 2007, 18:19) Объя...   Oct 8 2007, 16:54
- - singlskv   Цитата(ReAl @ Oct 8 2007, 20:54) Да не ад...   Oct 8 2007, 17:14
- - ReAl   Цитата(singlskv @ Oct 8 2007, 19:14) В та...   Oct 8 2007, 20:01
- - AlexMad   Цитата(ReAl @ Oct 9 2007, 00:01) Ну это у...   Oct 13 2007, 19:37


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

 


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


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