Exemple #1
0
/**
* \brief Configure GPIO
*/
void EPD_initialize_gpio(void) {
		
	config_gpio_dir_i( EPD_BUSY_PIN);			
	config_gpio_dir_o( EPD_SPI_CS_PIN);				
	config_gpio_dir_o( EPD_RST_PIN);			
	config_gpio_dir_o( EPD_PANELON_PIN);
	config_gpio_dir_o( EPD_DISCHARGE_PIN);
	config_gpio_dir_o( EPD_BORDER_PIN);
	EPD_flash_cs_high();					// dumy
	EPD_border_low();
	
	/** not used at present 
	config_gpio_dir_o( Flash_CS_PIN);
	config_gpio_dir_i( Temper_PIN);	
	*/
}
Exemple #2
0
/**
 * \brief Configure SPI
 */
void epd_spi_init(void) {
	if (spi_flag)
		return;
	spi_flag = TRUE;
	//config  i/o
	config_gpio_dir_o(SPICLK_PORT, SPICLK_PIN);
	config_gpio_dir_o(SPIMOSI_PORT, SPIMOSI_PIN);
	config_gpio_dir_i(SPIMISO_PORT, SPIMISO_PIN);

	BITSET(SPISEL, SPICLK_PIN + SPIMOSI_PIN + SPIMISO_PIN);
	BITSET(SPISEL2, SPICLK_PIN + SPIMOSI_PIN + SPIMISO_PIN);
	//comfig SPI
	SPICTL0 = UCCKPH | UCMST | UCSYNC | UCMSB;
	SPICTL1 = UCSSEL_2 + UCSWRST;
	SPIBR0 = 2; //16MHz/2=8MHz
	SPIBR1 = 0;

	BITSET(REN (SPIMISO_PORT), SPIMISO_PIN);
	BITCLR(SPICTL1, UCSWRST);
}