forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
Atmega162 a parsování příkazů u bluetooth

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> AVR
 
kablik2000
Nováček
Nováček


Založen: 15.7.2016
Příspěvky: 2

PříspěvekZaslal: 14 listopad 2016, 23:12    Předmět: Atmega162 a parsování příkazů u bluetooth Citovat

Zdravím,
bluetooth jsem rozchodil. Na stisk tlačítek to posílá písmenka. Potřebuji ale aby mi to posílalo hodnoty např. ze slideru... (id a jeho hodnota)Nemáte někdo nějaký vyzkoušený kód? Popřípadně upravte ten můj. Děkuji.
kód:

#define F_CPU 8000000  // 1 MHz
#define BAUDRATE 9600
#define MYUBRR F_CPU/16/BAUDRATE-1

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <string.h>
#include <stdlib.h>
#include "C:\Users\kabli\esp\LCD.h"

void uartInit(unsigned int ubrr) {
   // set baud rate
   UBRR0H = (unsigned char)(ubrr>>8);
   UBRR0L = (unsigned char)ubrr;
   
   UCSR0B = (1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);
   // set frame format: 8 data bits, 1 stop bit, no parity */


   CLKPR  = 0b10000000; // set CLKPCE bit to 1
   CLKPR  = 0b00000000; // set all other bits to 0 => divide by 1
}
unsigned char uartReceive() {
   // Wait for byte to be received
   while(!(UCSR0A&(1<<RXC0))){

      DDRD =0xFF;
      PORTD = 0xFF;
   };
   // Return received data
   return UDR0;
}
void uartTransmit(unsigned char data) {
   /* Wait for empty transmit buffer */
   while ( !( UCSR0A & (1<<UDRE0)) )
   ;
   /* Put data into buffer, sends the data */
   UDR0 = data;
}




ISR(USART0_RXC_vect) {
   PORTD |= 0x01;
   unsigned char rec = uartReceive();


      switch (rec) {
         case 'A':
       //nejaka akce
         break;

      }
      
}

int main(void) {

   DDRD =0xFF;
   PORTD = 0xFF;

   DDRE &= ~(1 << PINE0); //PinD7 jako vstup
   PORTE |= 1 << PINE0; //Čtení ze vstupu PinD7
   DDRE &= ~(1 << PINE1); //PinD7 jako vstup
   PORTE |= 1 << PINE1; //Čtení ze vstupu PinD7
   DDRA &= ~(1 << PINA7); //PinD7 jako vstup
   PORTA |= 1 << PINA7; //Čtení ze vstupu PinD7
   



   // configure the microprocessor pins for the data lines
   lcd_D7_ddr |= (1<<lcd_D7_bit);                  // 4 data lines - output
   lcd_D6_ddr |= (1<<lcd_D6_bit);
   lcd_D5_ddr |= (1<<lcd_D5_bit);
   lcd_D4_ddr |= (1<<lcd_D4_bit);
   lcd_E_ddr |= (1<<lcd_E_bit);                    // E line - output
   lcd_RS_ddr |= (1<<lcd_RS_bit);                  // RS line - output

   // initialize the LCD controller as determined by the defines (LCD instructions)
   lcd_init_4d();
   uint16_t r;
   //HCSR04Init();
   // initialize the LCD display for a 4-bit interface

   uartInit(MYUBRR);

      
   sei();


   while(1) {
      

   }

}
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> AVR Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)