LinkedIn YouTube Facebook
Szukaj

Wstecz
Artykuły

[KROK-PO-KROKU] Prosta aplikacja interfejsu dotykowego na mikrokontrolerze Atmel SAM D20 (Cortex-M0+)

Potem napisana została funkcja konfigurująca wyprowadzenia PB14 i PB15, które podłączone są do diod LED. Funkcja ta została wywołana na początku funkcji main().

void configure_port_pins(void)
{
	struct port_config config_port_pin;
	port_get_config_defaults(&config_port_pin);
	
	config_port_pin.direction=PORT_PIN_DIR_OUTPUT;
	
	port_pin_set_config(PIN_PB14, &config_port_pin);
	port_pin_set_config(PIN_PB15, &config_port_pin);
}

 

Następnie w funkcji main.c w nieskończonej pętli while(1) wywoływana jest funkcja odpowiedzialna za pomiar pojemności czujników. Po zakończeniu jej działania sprawdzane jest czy przyciski zostały dotknięte. Odpowiednio do odczytanych stanów przycisków diody LED zostają włączone bądź wyłączone. Opisany proces powtarza się cyklicznie.

while (1) 
{
	/**
	 * Goto STANDBY sleep mode, unless woken by timer or PTC interrupt.
	 */
	system_sleep();

	/**
	 * Start touch sensor measurement.
	 */
	touch_sensors_measure();

	/**
	* Update touch status once measurement complete flag is set.
	*/

	if ((p_selfcap_measure_data->measurement_done_touch == 1u))
	{
		p_selfcap_measure_data->measurement_done_touch == 0u;
		
		button1_state = GET_SELFCAP_SENSOR_STATE(0);
		button2_state = GET_SELFCAP_SENSOR_STATE(1);
				  
		if(button1_state)
		{
			port_pin_set_output_level(PIN_PB14, 0);		
		}
			
		else
		{
			port_pin_set_output_level(PIN_PB14, 1);				
		}
			
		if(button2_state)
		{
			port_pin_set_output_level(PIN_PB15, 0);				
		}
			
		else
		{
			port_pin_set_output_level(PIN_PB15, 1);				
		}
	}
}

 

Więcej informacji dotyczących tego jak przy wykorzystaniu platformy Xplained Pro i środowiska programistycznego Atmel Studio tworzyć aplikacje z interfejsem dotykowym można znaleźć w dokumentacji firmy Atmel [3].

Literatura

[1] www.atmel.com Atmel QTouch Library, Peripheral Touch Controller, User Guide

[2] www.atmel.com Atmel QT1 Xplained Pro, User Guide

[3] www.atmel.com Atmel AT05850: QTouch with SAM D20 Training Guide

SZYMON PANECKI urodził się 17 lutego 1985 roku w Milanówku. Tytuł inżyniera Elektroniki i Telekomunikacji, a następnie magistra inżyniera na Wydziale Elektroniki Politechniki Wrocławskiej uzyskał kolejno w roku 2008 i 2010. Ponadto tytuł inżyniera Informatyki na Wydziale Elektroniki Politechniki Wrocławskiej uzyskał w roku 2011. Szymon Panecki jest doświadczonym elektronikiem-konstruktorem, który w trakcie swojej zawodowej kariery koncentruje się na definiowaniu i projektowaniu (zarówno w warstwie sprzętowej jak i programowej) systemów wbudowanych opartych na mikrokontrolerach z rdzeniem ARM od różnych producentów, w tym przede wszystkim Infineon Technologies (rodzina XMC1000 i XMC4000), STMicroelectronics (STM32 i STR7), Freescale Semiconductor (Kinetis L) oraz Silicon Labs (EFM32 i Precision32). Obszarem jego szczególnego zainteresowania są systemy wykorzystujące czujniki środowiskowe (wilgotności, ciśnienia, temperatury) oraz przemysłowe i motoryzacyjne interfejsy komunikacyjne, głównie CAN. Szymon Panecki od wielu lat współpracuje z czasopismem "Elektronika Praktyczna" oraz portalem Mikrokontroler.pl, na łamach których publikuje liczne artykuły dotyczące swoich projektów, jak również nowości produktowych firm z branży półprzewodnikowej.