-
Forumindex
Sök
-
Sök
-
- Aktuellt datum och tid: 5 augusti 2025, 01:50:07
- Alla tidsangivelser är UTC+02:00 Europe/Stockholm
Sökningen fann 17 träffar
Gå till avancerad sökning
- av Samuel84
- 25 maj 2010, 19:45:47
- Kategori: Inbäddade system / Inbyggda system / IoT
- Tråd: USART atmega88, nybörjare
- Svar: 46
- Visningar: 6066
Jo, jag surfade från jobbet från mobilen, därav ingen möjlighet till datablad, och versalerna fick stryka lite på foten av samma anledning. Jo precis. Mina tidigare program har det inte spelat ngn roll för. Och som jag sa var jag själv lite förvånad att jag inte stött på detta tidigare. Blir till at...
- av Samuel84
- 25 maj 2010, 17:56:10
- Kategori: Inbäddade system / Inbyggda system / IoT
- Tråd: USART atmega88, nybörjare
- Svar: 46
- Visningar: 6066
nä, om jag inte ändrat dom tidigare har jag ju uppenbarligen inte behövt ändra dom heller då mina program fungerat. har googlat lite och det verkar som dom används för att ändra klockfrekvensen. detta har jag dock stött på. men det var första gången jag hörde att det kallas fuses, det man manipulera...
- av Samuel84
- 25 maj 2010, 16:40:56
- Kategori: Inbäddade system / Inbyggda system / IoT
- Tråd: USART atmega88, nybörjare
- Svar: 46
- Visningar: 6066
ok. med sammanhang menade jag uart. de program jag gjort tidigare är sånt som rinnande ljus, en 4x4 knappsats, och knappsats till lcd- display. kanske har jag sysslat med fuses utan att veta om det? vad av det jag tidigare har gjort bör ha innefattat fuses, och på vilket sätt?
- av Samuel84
- 25 maj 2010, 14:17:13
- Kategori: Inbäddade system / Inbyggda system / IoT
- Tråd: USART atmega88, nybörjare
- Svar: 46
- Visningar: 6066
Så har man UCSR0C = 0b00000110;, har man ställt in alla bitar till 0 utom UCSZ01 och UCSZ00, vilket innebär att USBS0=0, vilket innebär 8 bitar och 1 startbit. Nu ser min initiering ut såhär: UBRR0H = (unsigned char)(baud>>8); UBRR0L = (unsigned char)baud; //set the baud rate UCSR0B = _BV(RXEN0) | _...
- av Samuel84
- 25 maj 2010, 13:54:01
- Kategori: Inbäddade system / Inbyggda system / IoT
- Tråd: USART atmega88, nybörjare
- Svar: 46
- Visningar: 6066
Tackar! Kan man skriva UCSR0C = 0b00000110;, istället för att ställa in bitarna med logiska operatorer? De två ettorna är för att ställa UCSZ01 och UCSZ00 för att få 8-bitarsläge. Och när jag skickar mina bytes, måste jag skicka första 0:an i variabeln jag skickar (startbit)?
- av Samuel84
- 25 maj 2010, 13:25:31
- Kategori: Inbäddade system / Inbyggda system / IoT
- Tråd: USART atmega88, nybörjare
- Svar: 46
- Visningar: 6066
Tack för alla svar. Jo, det flesta exempel på nätet är ju för atmega16, och jag förstår ju att det inte går att skriva exakt som i dom exemplen. tack därför snigelen för översättningen. I data bladet står alla register lite kryptiskt. t.ex. UBRRn. varför står det "n" när det alltig verkar ...
- av Samuel84
- 25 maj 2010, 01:19:41
- Kategori: Inbäddade system / Inbyggda system / IoT
- Tråd: USART atmega88, nybörjare
- Svar: 46
- Visningar: 6066
Har du ngt förslag på vilka fler inställningar man behöver och som är lämpliga? Var kan man läsa om dessa inställningar? När jag t.ex. lägger till detta i initfunktionen: UCSRC = (1 << UCSZ1) | (1 << UCSZ0); får jag felmeddelandet: ../LAB6.c:23: error: 'UCSRC' undeclared (first use in this function)...
- av Samuel84
- 25 maj 2010, 00:20:57
- Kategori: Inbäddade system / Inbyggda system / IoT
- Tråd: USART atmega88, nybörjare
- Svar: 46
- Visningar: 6066
Tack för alla svar. Lika bra att posta min tråd i sin helhet: #include <util/delay.h> #include <stdio.h> #include <avr/io.h> #define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<BIT)) #define CLEARBIT(ADDRESS,BIT) (ADDRESS &= ~(1<<BIT)) /* initialize UART */ void InitUART( unsigned int baud ) { UBRR0H = ...
- av Samuel84
- 24 maj 2010, 12:01:35
- Kategori: Inbäddade system / Inbyggda system / IoT
- Tråd: USART atmega88, nybörjare
- Svar: 46
- Visningar: 6066
Tack för hjälpen! Sodjan: Vad jag än skriver i programmet, så är det enda jag får in på docklight 0x80. void InitUART( unsigned int baud ) { UBRR0H = (unsigned char)(baud>>8); UBRR0L = (unsigned char)baud; //set the baud rate UCSR0B = _BV(RXEN0) | _BV(TXEN0); //enable UART receiver and transmitter }...