Передача порта как параметра
Как передать порт в качестве параметра в функцию? Я понимаю что PORTx это адрес, передаю как uint8t, код компилится без ошибок и варнингов, но на железе не работает
- Реклама
вы уже спрашивали, и вам отвечали. судя по всему, на вашей платформе - никак. ищите иные пути
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
не пригодится, если меня память не подводит: у него Keil и 51-я архитектура, не прокатывает указатель на порт.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
ну в этих и портов то с гулькин...
находится поиском на сайте Кейла
Код: Выделить всё
void setpin( port_num, bit_index )
{
switch port_num
{
case 2:
P2 |= ( 1 << bit_index );- Реклама
Отчего не прокатит?
В ассемблере через @Ri - заносим адрес порта в регистр - указатель и работаем как с ячейкой ОЗУ...

В ассемблере через @Ri - заносим адрес порта в регистр - указатель и работаем как с ячейкой ОЗУ...
В том-то и дело, что в ассемблере отсутствует понятие "передача параметров функции". Поскольку все РОН в 51-й архитектуре отображены в область RAM, наверняка должен быть способ объявить какой-то сишный указатель на соответствующую ячейку, просто я не знаю, как это следует делать. может быть, какой-нибудь unsigned char near *ptr нужно сделать...BOB51 писал(а):Отчего не прокатит?
В ассемблере через ...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
МНДЯа....
А может чего в этой доке накопается - там, кроме самого МК еще и приемы работы с компиляторами ассемблера и СИ в конце описаны:
А может чего в этой доке накопается - там, кроме самого МК еще и приемы работы с компиляторами ассемблера и СИ в конце описаны:
Увы и ах, желаемое топикстартером НЕВОЗМОЖНО в принципе: C pointers cannot be used to access the 8051's SFRs (special function registers) - это сам Keil говорит 
Добавлено after 2 minutes 12 seconds:
меньше минуты гугления...
Добавлено after 2 minutes 12 seconds:
меньше минуты гугления...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!


