EmbDev.net

Forum: µC & Digital Electronics rs232 or usb


von guest (Guest)


Attached files:

Rate this post
0 useful
not useful
Hey,

I am a novice in the microcontroller and i have since one Week a 
Problem.

I engraved this code below on mysmatcontrolM8 (s. picture).
But, i obtain only weird character although it is working property on 
STK500 with atmega8.

I have already verified the frequenz, the Baud Rate and all are OK.

However, i obtain only weird character

I viewed the mysmartcontrolM8 product description: power supply via USB 
connection, 5 V or 3.3 V.
I think, that maybe the failing is the diference between the power 
supply of my PC and mysmatcontrolM8 (atmega8) !!! is that right!?!  And 
please which transformer  can i use?

Or, where is my fault!?!
can somebody help me!!!

thank you

1
#ifndef F_CPU
2
/* In the new version of the WinAVR/Mfile Makefile guideline One can defined F_CPU in the Makefile, a repeated 
3
   definition here would lead to a compiler warning . therefore "prevention" through    #ifndef/#endif
4
5
   This "Prevention" can lead to Debugger, if AVRStudio use a another, not the hardware fitting Clock rate: 
6
   Then the    following definition doesn't use, but instead the default value (1 MHz?) of AVRStudio - hence 
7
   the Output of a warning if F_CPU yet does not define:*/ 
8
#warning "F_CPU was not defined yet, now make up with 3686400"
9
#define F_CPU 3686400L // Systemtakt in Hz - define as  long>> Without errors in the computation 
10
#endif
11
12
13
#define BAUD 9600L
14
#define UBRR_VAL ((F_CPU+BAUD * 8)/(BAUD*16)-1)     //clever round
15
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))         //real baud rate
16
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000)     //Error per thousand
17
18
19
#if ((BAUD_ERROR>10)||(BAUD_ERROR<-10))
20
#error Systematic error in the baud rate more than 1% and thus too high!
21
#endif
22
23
24
#include <avr/io.h>
25
#include <stdlib.h>
26
#include <inttypes.h>
27
#include <util/delay.h>
28
29
30
31
void USART_Init(void) 
32
{
33
  
34
  UBRRH = (unsigned char)(UBRR_VAL>>8);  // Set baud rate
35
  UBRRL = (unsigned char)UBRR_VAL;
36
  
37
  UCSRB |= (1<<RXEN)|(1<<TXEN);    // Enable receiver and transmitter
38
  
39
  UCSRC = (1<<URSEL) | (1<<UCSZ0)|(1<<UCSZ1);  // Set frame format: 8data, 1stop bit        
40
41
}//end USART_Init()
42
43
44
void USART_Putc(unsigned char c)
45
{
46
  while (!(UCSRA & (1<<UDRE))); // Do nothing until data have been transmited 
47
    
48
  UDR = c;                // Put data into Buffer, sends the data
49
  _delay_ms(10);   
50
}//end USART_Putc()
51
52
53
void USART_Puts (char *string)
54
{
55
    while( *string != '\0' )  //as long as *string != '\0' so unlike the "stringer end-character"
56
    {  
57
        USART_Putc(*string);
58
        string++;
59
    }
60
}//end USART_Puts()
61
62
int main(void) 
63
{
64
  USART_Init();
65
  USART_Puts("\r\n");
66
  while(1) 
67
  {
68
    USART_Puts("Hey !!!!");  
69
  }
70
71
   return 0;                     
72
} //end main()

von H.C. (Guest)


Rate this post
0 useful
not useful
How did you connect the board to your PC?  I wonder about the physical 
connection.

The reason why I'm asking is: I miss to see some kind of level converter 
on the board (which doesn't necessarily mean it's not there).

von guest (Guest)


Rate this post
0 useful
not useful
Hey,
thank you for your interrest.

I have connected on PC over the USB interface, which provides a virtual
COM3-Port to the PC.

greet

von H.C. (Guest)


Rate this post
0 useful
not useful
I see.  I assume you've made sure the baudrate is correct at 9600?  If 
so, I'm running out of ideas.

von Andreas S. (andreas) (Admin) Flattr this


Rate this post
0 useful
not useful
Is your clock really 3.68 MHz? By default the ATmega8 is running on the 
internal 1 MHz RC oscillator. Make sure you have set all the necessary 
fusebits for running with the external crystal (see datasheet).

von guest (Guest)


Rate this post
0 useful
not useful
hey,

i have it.

all is ok. except that during all this time, I compiled  the bad .exe 
file.

stupid!

thank all

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.