ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
172889 Топик полностью
megajohn (18.11.2009 13:47 - 13:50, просмотров: 136) ответил Алехин Александр на еще вопрос: как создать классы, отличающиеся используемыми выводами? Ну т.е. например программный SPI. Делаю шаблон класса. При создании экземпляра класса передаю ему порты и номера пинов. Где-то попадалось про использование "адресов" пинов при
Если правильно понял вопрос, то типо так Вариант 1: class Tspi_ext_soft { private: public: u8 (*data_state) ( void ); void (*clr_clk_func) ( void ); void (*set_clk_func) ( void ); void (*clr_cs_func) ( void ); void (*set_cs_func) ( void ); void (*value_ready_func) ( void ); }; Tspi_ext_soft spi1; void my_set_clk_func( void ) { PORTB |= (1 << PB1 ); } spi1.set_clk_func = my_set_clk_func; Вариант 2: class Tspi_ext_soft { private: public: u8 volatile *spi_port; u8 cs_pin; u8 mosi_pin; }; Tspi_ext_soft spi1; spi1.spi_port = &PORDC; spi1.cs_pin = (1 << PB2 );