sam4s Xplained pro uart Embedded Debugger

Gast #5715044
Lesenswert?

Hi ich habe ein Problem mit dem Embedded Debugger über UART und dem 
Evalboard vom Sam4s. Mein Signal UART-Signal kommt bis zum Ausgang vom 
Sam, das habe ich mit dem Oszi gemessen. Am PC kommt dann mein Signal 
nicht mehr an. Im Debug-Modus geht das 'a' auch raus aus dem Register. 
Muss ich auf etwas spezielles beim Einstellen meines Terminals achten 
außer, dass ich den Virtuel Com-Port nehme.

Hier mein Code:
1
#define UART_SERIAL_BAUDRATE     115200
2
#define UART_SERIAL_MODE         UART_MR_PAR_NO
3

4
#define PINS_UART1_PIO      PIOB      
5
#define PINS_UART1_ID       ID_UART1
6
#define PINS_UART1_TYPE     PIO_PERIPH_A  
7
#define PINS_UART1_ATTR     PIO_DEFAULT
8
#define PINS_UART1_MASK     (PIO_PB2A_URXD1| PIO_PB3A_UTXD1 )
9

10
void configure_uart(void){
11
  pio_configure(PINS_UART1_PIO, PINS_UART1_TYPE, PINS_UART1_MASK, PINS_UART1_ATTR);
12
  pmc_enable_periph_clk(ID_UART1);
13
  
14
  const sam_uart_opt_t uart1_sett = { 
15
    sysclk_get_cpu_hz(), 
16
    UART_SERIAL_BAUDRATE, 
17
    UART_SERIAL_MODE 
18
  };
19
  
20
  uart_init(UART1,&uart1_sett);
21
}
22

23
int main (void)
24
{
25
   sysclk_init();
26
   board_init();
27
   
28
   wdt_disable(WDT);  
29
      
30
   configure_uart();
31
     
32
   while (1)
33
   {
34
     uart_write(UART1, 'a');
35
         }
36
}
#5715827
Lesenswert?

Hey,

also ich hab dein Code mit meinem SAM4E Xplained und dem EDBG getestet 
und es funktioniert. Klar ich musste die Pin-Defines anpassen, aber das 
wars dann auch schon.

Terminal auf richtige Baud eingestellt?

Und warum holst du dir sysclk_get_cpu_hz() und nicht 
sysclk_get_peripheral_hz().
Gast #5715868
Lesenswert?

Ich habs raus gefunden. Man muss im Terminalprogramm dem DTR aktivieren 
um über den Embedded Debugger am Virtual Comport was zu lesen.

Ja Terminal war richtig eingestellt.
Stimmt eigentlich die peripheral_Clock ist sinnvoller vielen Dank für 
den Tipp Adam.
#5716063
Lesenswert?

Steht zwar auch so im "Atmel EDBG USER GUIDE" unter "Virtual COM Port":

-->
Note that the UART pins of the EDBG are tri-stated when no terminal 
program is connected to the Virtual
COM Port on the computer. This mechanism relies on the terminal program 
sending a DTR signal.
<--

Und genau das gleiche Verhalten habe ich auch beim HTerm, jedoch 
verwende ich TeraTerm und dort muss ich nichts konfigurieren  ändern  
anpassen, vllt. weiß ja jmnd den Grund dafür.

Finde dort auf anhieb auch keine Info darüber.
Wäre nur interessant zu wissen warum es im TeraTerm (ohne DTR) 
funktioniert.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren