Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

ARM - From PIC

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[161] Re: ARM - From PIC

Messaggioda Foto Utentepierinter » 22 mar 2012, 1:38

non ho capito se ti riferivi al fatto che non c'è bisogno di includerlo nel main o di includerlo nel progetto. tutto qui
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[162] Re: ARM - From PIC

Messaggioda Foto Utentepierinter » 22 mar 2012, 1:40

E comunque nel programma di esempio non vedo nessun cenno a stm32f10x_lib.h
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[163] Re: ARM - From PIC

Messaggioda Foto UtenteTardoFreak » 22 mar 2012, 1:42

I files .c non si includono, si compilano come moduli.
Quelli che si includono sono gli header files, i .h

Pi, per carità, fai come credi. O_/
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[164] Re: ARM - From PIC

Messaggioda Foto Utentepierinter » 22 mar 2012, 1:45

Ah ok, basta saperlo :)

Di fatto ora, con il progetto d'esempio così come è fatto quindi possiamo già implementare le funzionalità della UART?

Edit : sto provando a scrivere il codice stm32f10x_usart.c l'ho dovuto aggiungere al progetto di Keil in quanti altrimenti non trovava la funzione USART_Init(USART1, &USART_InitStructure);
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[165] Re: ARM - From PIC

Messaggioda Foto Utentepierinter » 22 mar 2012, 2:27

Immagino sarai andato a dormire (ottima idea effettivamente :D).

Io sto andando avanti!

Ho riscritto il main con il codice che avevamo preparato insieme.

lo riporto qui per chiarezza
Codice: Seleziona tutto
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include "STM32vldiscovery.h"


/** @addtogroup Examples
  * @{
  */

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
/* Private function prototypes -----------------------------------------------*/
void Delay(__IO uint32_t nCount);
void USART1PrintChar(char ch);

/* Private functions ---------------------------------------------------------*/

/**
  * @brief  Main program.
  * @param  None
  * @retval None
  */
int main(void)
{
 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

  // Configura il piedino di RX come input floating
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  /* Configura il pin TX come funzione alternativa push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  // Configura l' USART 1200 baid, 8 bit, 1 stop, no parità nessun controllo hardware
  USART_InitStructure.USART_BaudRate = 1200;
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_No;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  // Configura l' USART1
  USART_Init(USART1, &USART_InitStructure);

  USART_Cmd(USART1, ENABLE);

  /* Initialize Leds LD3 and LD4 mounted on STM32VLDISCOVERY board */
  STM32vldiscovery_LEDInit(LED3);
  STM32vldiscovery_LEDInit(LED4);

  while (1)
  {
     char character = 'A';
     USART1PrintChar(character);   
  }
}

void USART1PrintChar(char ch)
{
  // Aspetta che il registro di trasmissione sia libero
  while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
  USART_SendData(USART1,ch);
}


Viene compilato senza errori.
Come ti ho scritto nel post precedente ho dovuto aggiungere stm32f10x_usart.c nel progetto.

Ora, per provarlo, è ovvio che devo attaccarmi al computer.
Ricordi che avevo preso questo convertitore : http://www.futurashop.it/allegato/7100- ... t=&d=15,00
Dice che devo selezionare il livello TX-RX tramite un ponte per scegliere tra 3,3 e 5 V.
Scelgo i 5 V no ?

Ora intanto provo con l'oscilloscipio!

A domani.
Buona notte e grazie ancora !
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[166] Re: ARM - From PIC

Messaggioda Foto Utentepierinter » 22 mar 2012, 17:17

Aggiornamento :
Ok, ho caricato la il programma sulla schedina senza problemi.

Collegando la sonda dell'oscilloscopio al piedino A9, sullo schermo vedo come una serie di impulsi.
Questo mi sembra un po' strano in effetti.

Mi aspettavo di vedere una sequenza di byte che si ripete sempre, per come è scritto il programma.

Idee ?
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[167] Re: ARM - From PIC

Messaggioda Foto UtenteTardoFreak » 22 mar 2012, 17:47

Se vedi una serie di impulsi vuol dire che funziona.
Non ti piace la forma che gli impulsi hanno? :mrgreen:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[168] Re: ARM - From PIC

Messaggioda Foto Utentepierinter » 22 mar 2012, 18:22

Sono tutti alla stessa distanza l'uno dall'altro.
E credevo di dover vedere un'alternanza di 0 e 1, di stato basso e stato alto.

Invece vedo che è sempre a livello alto, con degli impulsi regolari, che portano il segnale in basso per poi riportarlo immediatamente in alto.

Dici che è giusto ?
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[169] Re: ARM - From PIC

Messaggioda Foto UtenteTardoFreak » 22 mar 2012, 18:29

Prova a cambiarci il dato che spari fuori. Mettici, ad esempio, un 0x55 o un 0xaa. Se vedi che c'è differenza rispetto a prima vuol dire che effettivamente di invia il dato corretto.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[170] Re: ARM - From PIC

Messaggioda Foto Utentepierinter » 22 mar 2012, 18:51

Si certo, ci avevo pensato anch'io e infatti lo faccio stasera appena arrivo a casa ! ;)
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

PrecedenteProssimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti