Отговори на тема  [ 33 мнения ]  Отиди на страница 1, 2, 3  Следваща
8051 PIN пойнер? акцес 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4713
Мнение 8051 PIN пойнер? акцес
дайте идея за индиректно PIN read/write
The reason is because the 8051's SFRs are mapped into the upper 128 bytes of the Directly Addressable On-chip Memory. This area cannot be accessed indirectly, so you cannot use pointers to indirectly access the SFRs....

тва ми изглежда "тъпо"
Код:
void pinWrite(uint8_t pin, unsigned v){
    switch(pin){
        case 0: P0_0 = v; break;
        case 1: P0_1 = v; break; 
        .....
    }
}

_________________
main[-1u]={1};


Пон Ное 13, 2017 6:23 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2586
Местоположение: Велико Търново / София
Мнение Re: 8051 PIN пойнер? акцес
Е значи не са част от данновата памет тия регистри.
Ако не е критична скоростта може да направиш функция която ги зарежда според клетка от паметта. В зависимост от скоростта която търсиш трябва да осигуриш достатъчно честото викане на функцията. А клетката от паметта т.е. някакъв байт или няколко байта може да си го адресираш с указатели.

_________________
https://github.com/slav4ocom/


Пон Ное 13, 2017 11:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 8:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: 8051 PIN пойнер? акцес
За щастие никога не съм се сблъсквал с 8051.
Пробвай
Код:
//sfr P0   = 0x80;
void pinWrite(uint8_t pin, unsigned v){
if(v) {_SETB(0x80+pin)}
else{_CLR(0x80+pin)}
}



_SETB и _CLR са функции които ти си ги написал на асемблер: http://www.keil.com/support/docs/50.htm

_________________
Warriors of the Night, ASSEMBLER!!!


Вто Ное 14, 2017 12:55 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27992
Местоположение: София
Мнение Re: 8051 PIN пойнер? акцес
Кажи чий е този 8051, че има разлики в реализацията.


Вто Ное 14, 2017 4:25 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4713
Мнение Re: 8051 PIN пойнер? акцес
всъщност е Soc CC2530, чисто 8051 му е ядррото... :) опитвам се да го портна в "любимото" Arduino IDE
IAR-a го оправих с някой забележки, UARTA като Serial работи

пиновете на P0,P1,P2,DIRx, MODEx искам да индексирам (таблица) обаче няма достъп (указател) до тези регистри ат 0х80, 0х90... мога да ги чета... мапнати са за четене ат 0х7080, 0х7090...
char * port = (volatile char *)(0x80) сочи XDATA а не SFR
*port |= mask;...

чета че има някакви SFR ат 0х20...0х2F които били bit-accsess, днес ще екпериментирам как да ги структурирам в няква таблица нящо като за AVR с CBI, SBI

_________________
main[-1u]={1};


Вто Ное 14, 2017 7:13 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4713
Мнение Re: 8051 PIN пойнер? акцес
Греда е тоя сок... само директен достъп

_________________
main[-1u]={1};


Вто Ное 14, 2017 10:42 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 10:31 pm
Мнения: 9640
Мнение Re: 8051 PIN пойнер? акцес
компилатора, с който се бориш, има ли линкер скрипт (или нещо, в което се дефинират секции с адреси)?
ако да, виж как се казва секцията за SFR зоната. огледай и за специфични атрибути.

не виждам особен смисъл за указателна аритметика, точно за 8051 и SFR. ако може малко светлина по въпроса?


Вто Ное 14, 2017 11:07 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4713
Мнение Re: 8051 PIN пойнер? акцес
в Arduino-to пин манипулацията е API индексирани пинове с дискрипшън таблица... ардуино-пин, порт-адрес, дир-адрес, моде-адрес, маск:
pА = FindByName(pin);
няква манипулация на p...



те така работи но е бавно като за Ардуино... в случая съм вързал един DHT11 за тестове

Код:
void digitalWrite( uint32_t pin, uint32_t val ) {
    switch( pin ){
        case 0: P0_0 = (boolean)val; break;
        case 1: P0_1 = (boolean)val; break; 
        // други
    }
}

int digitalRead( uint32_t pin ) {
    switch( pin ){
        case 0: return P0_0;
        case 1: return P0_1;
        // други
    }       
    return 0;
}


иначе с чист IAR проект сок-а си бачка чудесно... просто се опитах дали може да стане на Ардуино
заебавам го за сега

_________________
main[-1u]={1};


Вто Ное 14, 2017 12:20 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4713
Мнение Re: 8051 PIN пойнер? акцес
ето и един шот


Прикачени файлове:
1212.png
1212.png [ 457.82 KiB | Прегледано 4848 пъти ]

_________________
main[-1u]={1};
Вто Ное 14, 2017 12:23 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 10:31 pm
Мнения: 9640
Мнение Re: 8051 PIN пойнер? акцес
мдааа...

както каза Ицо, в съвременния свят, ако няма драйвер/API за реле, никой не може да цъкне релето


Вто Ное 14, 2017 12:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 12:48 pm
Мнения: 4405
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: 8051 PIN пойнер? акцес
ДедоБоре написа:
мдааа...

както каза Ицо, в съвременния свят, ако няма драйвер/API за реле, никой не може да цъкне релето

:)
а всичко тръгна от един хубав български филм от края на соца:
"вече не се казва ще скова кочина, а се казва ще реализирам кочина" :!:

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Вто Ное 14, 2017 12:53 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10604
Местоположение: София
Мнение Re: 8051 PIN пойнер? акцес
Тц, тц, как ме нагласихте... Казаното беше в друга тема, в друг контекст и няма общо с тая.


Вто Ное 14, 2017 2:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 10:31 pm
Мнения: 9640
Мнение Re: 8051 PIN пойнер? акцес
в днешно време:
Структурно усвояване на коехизионните фондове относно подобрение на местообиталищата на най-близката до човешкия геном хранителна верига
- историческа справка на местообиталищата
- общ поглед върху съвременния световен опит в осигуряването на местообиталища, видовото разнообразие, хуманно отношение и екологична оценка на въздействията върху околната среда, предвиди особеностите на култура, бит и религия
- преюдициално запитване до приложимата юрисдикция относно защитата на правата на проектния субект
- съгласувателно мнение от камарата на архитектите, камарата на строителни инженери, камарата на строителните надзорници, електро- и водо-разпределителните дружества относно процедурите, правилата и добрите практики при проектирането, изграждането, експлоатацията и утилизацията на местообиталищата, както и на техните вторични и отпадни продукти
- съгласувателно мнение от сдружението на службите по трудова медицина и охрана на труда относно безопастните условия на труд на операторите на биологичните единици
- съгласувателно мнение от ДАИ, пътна полиция, пристанищна администрация и гранична полиция относно организационните мероприятия, добрите практики и ограниченията при превоз на всички проектни субекти.
- съгласувателно мнение от служба противопожарна безопастност и гражданска защита относно потенциалните бедствия, аварии и инциденти при обичайната експлоатация на местообиталищата
- предложение до БАИТ за съвместно прилагане на най-съвременни IT технологии като: WiFi, индустриална автоматизация, IoT, Facebook и т.н.
- създаване на работна група от учени, лекари, агрономи, ветеринари, биолози, лекари, строители, инженери, културни дейци, циркаджии, журналисти и законотворци за обобщаване на получената информация и изготвяне на пътна карта, нормативна уредба, наредби и ръководства по проекта, с привличане на експерти от ресорните министерства, ресорните агенции, академии, НПО и сдружения.

без особени проблеми ще влезе в бюджет от 20 млн. лв.
в целия проект няма нужда и от един пирон и/или дъска.


Вто Ное 14, 2017 3:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: 8051 PIN пойнер? акцес
Dedi, може ли с едно изречение?
Уизард, явно няма пълно щастие.
Много съм се чудил, що Тексас ползват 8051 за уж модерни продукти, предполагам- са пазарували наедро, купуваш,правиш , продаваш.
От друга страна - нищо му няма на '51, има си някои особености само :-) .
Както казва ДедоБоре - може ли да обясниш -за какво ти е индексно адресиране на пиновете? Да бяха 100, как да е , пък те при тебе са двайсетина.


Вто Ное 14, 2017 7:43 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4713
Мнение Re: 8051 PIN пойнер? акцес
начи сока в нормален проект си работи перфетно за "способностите" си
cc25xx не е на TI, краварите купиха фирмата - забравих как се казваше, чипа е стар, сега има ARM-Soc ама аз нямам развойна платка за тестове... готиното на cc2530 е че е евтин, има много китайски "развой"

За индексиране на пиновете следвах Arduino "правилата"... да стане прилично универсално, да могат да се ползват стандартни библиотеки без да ги променям

скрин шота е с променена библиотека за DHTxx, примера горе със switch-case "индексиране" пин достъпа е бавен (ядрото не е RISC) 8051 на 32 MHz e

Пиновете са малко да кажем 16(няма проб за switch-case), има 2 уарта, spi, pwm, adc... става за много неща, правил съм меш...
на тоя етап в ардуино версия не ме кефи... ще го продължа по-късно
Ардуино + IAR прави един проблем който ме дразни и не става за общия потребител
Ардуино е пригодено повече за GCC и няма parse/ctags подръжка за IAR, Keil...

абе - заеби - нека отлежи малко

_________________
main[-1u]={1};


Вто Ное 14, 2017 8:29 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 33 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни