Страница 1 из 1
Передача порта как параметра
Добавлено: Вт мар 21, 2017 07:32:14
daaar
Как передать порт в качестве параметра в функцию? Я понимаю что PORTx это адрес, передаю как uint8t, код компилится без ошибок и варнингов, но на железе не работает
Re: Передача порта как параметра
Добавлено: Вт мар 21, 2017 07:51:46
ARV
вы уже спрашивали, и вам отвечали. судя по всему, на вашей платформе - никак. ищите иные пути
Re: Передача порта как параметра
Добавлено: Вт мар 21, 2017 08:22:38
oleg110592
Re: Передача порта как параметра
Добавлено: Вт мар 21, 2017 08:41:10
ARV
не пригодится, если меня память не подводит: у него Keil и 51-я архитектура, не прокатывает указатель на порт.
Re: Передача порта как параметра
Добавлено: Вт мар 21, 2017 09:16:54
oleg110592
ну в этих и портов то с гулькин...
Код: Выделить всё
void setpin( port_num, bit_index )
{
switch port_num
{
case 2:
P2 |= ( 1 << bit_index );
находится поиском на сайте Кейла
Re: Передача порта как параметра
Добавлено: Вт мар 21, 2017 11:56:01
BOB51
Отчего не прокатит?
В ассемблере через @Ri - заносим адрес порта в регистр - указатель и работаем как с ячейкой ОЗУ...

Re: Передача порта как параметра
Добавлено: Вт мар 21, 2017 12:14:08
ARV
BOB51 писал(а):Отчего не прокатит?
В ассемблере через ...
В том-то и дело, что в ассемблере отсутствует понятие "передача параметров функции". Поскольку все РОН в 51-й архитектуре отображены в область RAM, наверняка должен быть способ объявить какой-то сишный указатель на соответствующую ячейку, просто я не знаю, как это следует делать. может быть, какой-нибудь
unsigned char near *ptr нужно сделать...
Re: Передача порта как параметра
Добавлено: Вт мар 21, 2017 12:21:53
BOB51
МНДЯа....
А может чего в этой доке накопается - там, кроме самого МК еще и приемы работы с компиляторами ассемблера и СИ в конце описаны:

Re: Передача порта как параметра
Добавлено: Вт мар 21, 2017 12:25:40
ARV
Увы и ах, желаемое топикстартером НЕВОЗМОЖНО в принципе:
C pointers cannot be used to access the 8051's SFRs (special function registers) - это сам Keil говорит
Добавлено after 2 minutes 12 seconds:
меньше минуты гугления...
Re: Передача порта как параметра
Добавлено: Вт мар 21, 2017 13:58:01
BOB51
ГЫММ...
"плюсик" в пользу ассемблерных вставок...
