Mi sta arrivando la discovery. Ho deciso di prenderla insieme ad altre schede di sviluppo perché costa una pacca sulla spalla. Vedrò di farci un progettino di base che poi inserirò.
Abbi solo pazienza, dovrebbe arrivarmi fra qualche giorno.
ARM - From PIC
Moderatore:
Paolino
0
voti
[131] Re: ARM - From PIC
"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.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
[132] Re: ARM - From PIC
Si costa poco ed è comoda..
Posso chiederti se mi mandi qualche tuo progettino ? anche di esempio..
perché il problema che ho è nella gestione dei file da parte di keil..non nel codice in se
Posso chiederti se mi mandi qualche tuo progettino ? anche di esempio..
perché il problema che ho è nella gestione dei file da parte di keil..non nel codice in se
Visita il mio sito : http://www.raffotech.altervista.org
0
voti
[133] Re: ARM - From PIC
Progettini non ne ho, ne devo fare un a posta e lo farò in un momento di relax, magari la sera dopo cena (se non devo lavorare). 
"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.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
[134] Re: ARM - From PIC
Non riesco a capire come inserire nei progetti i vari file della libreria della ST :
- stm32f10x_gpio.c
- stm32f10x_exti.c
- stm32f10x_rcc.c
- misc.c
ecc ecc..
Mi da sempre degli errori di variabili non definite, quindi mancano dei file!
Se riesci a darmi un aiutino su questo...:)
Altrimenti non uso nessuna delle funzioni lì dichiarate e vedo di farmi tutto io!
È chiaro però che utilizzare quelle funzioni è da una più facile e più leggibile...
- stm32f10x_gpio.c
- stm32f10x_exti.c
- stm32f10x_rcc.c
- misc.c
ecc ecc..
Mi da sempre degli errori di variabili non definite, quindi mancano dei file!
Se riesci a darmi un aiutino su questo...:)
Altrimenti non uso nessuna delle funzioni lì dichiarate e vedo di farmi tutto io!
È chiaro però che utilizzare quelle funzioni è da una più facile e più leggibile...
Visita il mio sito : http://www.raffotech.altervista.org
0
voti
[135] Re: ARM - From PIC
Pier, abbi pazienza!
Mi arriva lo schedino, ci gioco un po' e poi ti dico.
Non sono affatto capace ad insegnare, tanto meno a risolvere problemi a distanza. Fossi qui vicino a me risolveremmo la situazione in pochi minuti ma siamo lontani.
E non sai quanto soffro di questa lontananza, visto che ti tratto come un figlio.
A parte gli scherzi, pazienta e le risposte arriveranno.
Mi arriva lo schedino, ci gioco un po' e poi ti dico.
Non sono affatto capace ad insegnare, tanto meno a risolvere problemi a distanza. Fossi qui vicino a me risolveremmo la situazione in pochi minuti ma siamo lontani.
E non sai quanto soffro di questa lontananza, visto che ti tratto come un figlio.
A parte gli scherzi, pazienta e le risposte arriveranno.

"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.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
[136] Re: ARM - From PIC
si si paziento (anche se io faccio molta fatica
)
Ho trovato questo codice all'interno di Keil che mi funziona.
A questo punto, almeno per ora, utilizzo questi simboli e non le funzioni previste dalle librerie, così almeno imparo a scrivere un codice che sia più portabile rispetto all'utilizzo delle librerie standard della ST.
Te lo posto
La struttura non è difficile da capire, la sintassi neanche.
Il problema ora è capire cosa sono quei CRL, CRH ecc...
Ed anche capire che cavolo di espressioni sono quelle del tipo ''RCC->APB2ENR |= 1 << 4;''
è un or bit a bit con un shift a sinistra... boh , a cosa serve ?
E così tutto il resto.
Cercando nella documentazione risulta che sono tutti elementi di strutture..ad esempio di GPIO_InitStruct.
E ok... però ora devo capire cosa fanno, e soprattutto che valore dare ad ognuno di questi, visto che le operazioni che vedo nel codice sono assurde e tutt'altro che intuitive (almeno per me ).
Ho trovato questo codice all'interno di Keil che mi funziona.
A questo punto, almeno per ora, utilizzo questi simboli e non le funzioni previste dalle librerie, così almeno imparo a scrivere un codice che sia più portabile rispetto all'utilizzo delle librerie standard della ST.
Te lo posto
- Codice: Seleziona tutto
//LED BLINKY
#include "stm32f10x.h"
#define LED_BLINK_RATE 20 /* rate = LED_BLINK_RATE * systick */
#define LED_NUM 2 /* Number of user LEDs */
const unsigned long led_mask[] = { 1UL<<8, 1UL<<9 };
#define USER1 0x0001 /* PA0 : USER1 */
#define UNBOUNCE_CNT 10 /* unbounce the Push Button */
uint32_t ledVal = 1;
uint32_t ledOn = 0;
uint32_t ledBlink = 0;
/*----------------------------------------------------------------------------
configer LED pins
*----------------------------------------------------------------------------*/
__INLINE static void LED_Config(void) {
RCC->APB2ENR |= 1 << 4; /* Enable GPIOC clock */
GPIOC->CRH &= 0xFFFFFF00; /* Configure the GPIO for LEDs */
GPIOC->CRH |= 0x00000033; /* Configure the GPIO for LEDs */
}
/*----------------------------------------------------------------------------
Switch on LEDs
*----------------------------------------------------------------------------*/
__INLINE static void LED_On (uint32_t num) {
GPIOC->BSRR = led_mask[num]; /* Turn On LED */
}
/*----------------------------------------------------------------------------
Switch off LEDs
*----------------------------------------------------------------------------*/
__INLINE static void LED_Off (uint32_t num) {
GPIOC->BRR = led_mask[num]; /* Turn Off LED */
}
/*----------------------------------------------------------------------------
Function that outputs value to LEDs
*----------------------------------------------------------------------------*/
void LED_Out(uint32_t value) {
int i;
for (i = 0; i < LED_NUM; i++) {
if (value & (1<<i)) {
LED_On (i);
} else {
LED_Off(i);
}
}
}
/*----------------------------------------------------------------------------
configer Button pins
*----------------------------------------------------------------------------*/
__INLINE static void BTN_Config(void) {
RCC->APB2ENR |= 1 << 2; /* Enable GPIOA clock */
GPIOA->CRL &= 0xFFFFFFF0; /* Configure the GPIO for BTNs */
GPIOA->CRL |= 0x00000008; /* Configure the GPIO for BTNs */
}
/*----------------------------------------------------------------------------
Read Button pins
*----------------------------------------------------------------------------*/
__INLINE static uint32_t BTN_Get(void) {
return (GPIOA->IDR & 0x0001);
}
/*----------------------------------------------------------------------------
USER1Pressed
check if USER1 is pressed (unbounced).
*----------------------------------------------------------------------------*/
uint32_t BTN_Pressed (void) {
static uint32_t USER1KeyCount = 0, USER1KeyPressed = 0;
if (USER1KeyPressed) {
if ((BTN_Get() == 0 )) { /* Check if USER1 not pressed */
if (USER1KeyCount < UNBOUNCE_CNT) USER1KeyCount++;
else {
USER1KeyPressed = 0;
USER1KeyCount = 0;
}
}
}
else {
if (!(BTN_Get() == 0 )) { /* Check if USER1 pressed */
if (USER1KeyCount < UNBOUNCE_CNT) USER1KeyCount++;
else {
USER1KeyPressed = 1;
USER1KeyCount = 0;
return (1);
}
}
}
return (0);
}
/*----------------------------------------------------------------------------
SysTick_Handler
*----------------------------------------------------------------------------*/
void SysTick_Handler (void) {
static uint32_t ticks;
if (ticks++ >= LED_BLINK_RATE) {
ticks = 0;
ledBlink = 1;
}
}
/*----------------------------------------------------------------------------
MAIN function
*----------------------------------------------------------------------------*/
int main (void) {
LED_Config();
BTN_Config();
SysTick_Config(SystemCoreClock / 100); /* Setup SysTick Timer (10ms) */
while(1) {
if (BTN_Pressed()) {
ledVal += 1;
if (ledVal > 3) ledVal = 1;
}
if (ledBlink == 1) {
ledBlink = 0;
ledOn ^= 1;
if (ledOn == 1)
LED_Out (ledVal); /* switch the LEDs on */
else
LED_Out (0); /* switch the LEDs off */
}
}
La struttura non è difficile da capire, la sintassi neanche.
Il problema ora è capire cosa sono quei CRL, CRH ecc...
Ed anche capire che cavolo di espressioni sono quelle del tipo ''RCC->APB2ENR |= 1 << 4;''
è un or bit a bit con un shift a sinistra... boh , a cosa serve ?
E così tutto il resto.
Cercando nella documentazione risulta che sono tutti elementi di strutture..ad esempio di GPIO_InitStruct.
E ok... però ora devo capire cosa fanno, e soprattutto che valore dare ad ognuno di questi, visto che le operazioni che vedo nel codice sono assurde e tutt'altro che intuitive (almeno per me ).
Visita il mio sito : http://www.raffotech.altervista.org
0
voti
[137] Re: ARM - From PIC
pierinter ha scritto:Il problema ora è capire cosa sono quei CRL, CRH ecc...
Ed anche capire che cavolo di espressioni sono quelle del tipo ''RCC->APB2ENR |= 1 << 4;''
è un or bit a bit con un shift a sinistra... boh , a cosa serve ?
Che sia una maniera differente di scrivere le assegnazioni?
APB2ENR sicurametne è un registro....
Comunque hai 2 metodi secondo me...
- debuggare e usare la funzione watch su quei registri/variabili e vedere come variano....
- fare un bel ctrl-F sul pdf del datasheet e cercare queste sigle.. e vedere che ne esce...
...:::Pivello allo sbaraglio:::...
MY WEBSITE! come and see... ;) <-- Di nuovo online... spiacente per i problemi tecnici!
MY WEBSITE! come and see... ;) <-- Di nuovo online... spiacente per i problemi tecnici!
-

crestus
1.295 2 7 13 - Expert EY

- Messaggi: 478
- Iscritto il: 3 ott 2008, 10:28
- Località: studente al politecnico di torino
0
voti
[138] Re: ARM - From PIC
Penso di capire che problemi ci siano..
Ci sono dei problemi nelle librerie perché mi dice che alcune cosa vengono dichiarate due volte..
Posso chiederti se riesci a postarmi le librerie della ST che usi che si trovano in C://Keil/ecc... ?
Ci sono dei problemi nelle librerie perché mi dice che alcune cosa vengono dichiarate due volte..
Posso chiederti se riesci a postarmi le librerie della ST che usi che si trovano in C://Keil/ecc... ?
Visita il mio sito : http://www.raffotech.altervista.org
0
voti
[139] Re: ARM - From PIC
Mah, io semplicemente includo il file fra virgolette.
Comunque il path è : C:\programmi\Keil\ARM\Inc\ST\STM32F10x
Comunque il path è : C:\programmi\Keil\ARM\Inc\ST\STM32F10x
"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.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
[140] Re: ARM - From PIC
Ho seguito questo link :
http://bertrand.granado.free.fr/iWeb/mi ... 102009.pdf
che spiega come installare la libreria della ST.
Però mi da errori di RIDEFINIZIONI di molte cose
http://bertrand.granado.free.fr/iWeb/mi ... 102009.pdf
che spiega come installare la libreria della ST.
Però mi da errori di RIDEFINIZIONI di molte cose
Visita il mio sito : http://www.raffotech.altervista.org
Torna a Realizzazioni, interfacciamento e nozioni generali.
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)