sam4s Xplained pro uart Embedded Debugger

Gast #5715044
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
}
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
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.
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

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.