1. Список говнокодов пользователя nice_penguin

    Всего: 1

  2. Си / Говнокод #5133

    +132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    struct 
    {
    	unsigned char * low;  //младшая часть адреса
      	unsigned char * high; //страшая часть адреса(только младших 3 бита)
    } padr;
    
    void filladdr(unsigned int * addr) //подготовка адресных ног МК
    {
    	padr.low = (unsigned char *)addr;
    	padr.high = padr.low + 1;
    	PORTB = *padr.low;
    	PORTE &= 0x8;
    	PORTE |= *padr.high;
    
    }
    
    unsigned char readFromSRAM(unsigned int * adrss)
    {
    	char outD;
    	TRISD = 0xFF;
    	filladdr(adrss);
    	PORTA &= 0xFC;
    	NOP(); // задержка на время доступа
    	outD = PORTD;
    	PORTA |= 0x7;
    	return outD;
    }
    
    void writeToSRAM(unsigned int * adrss, unsigned char * data)
    {
    	TRISD = 0x0;
    	filladdr(adrss);
    	PORTD = *data;
    	PORTA &= 0xF8;
    	NOP();  // задержка на время доступа
    	PORTA |= 0x7;
    	PORTD = 0x0;
    }

    говнокод для работы с 2кб внешней SRAM памяти для микроконтролеров pic

    nice_penguin, 02 Января 2011

    Комментарии (41)