Ahhhhhhhhh vedi che c'è il trucco
lesto:
Ahhhhhhhhh vedi che c'è il trucco
Se vuoi dell'ottimo codice pronto all'uso su STM32F3 Discovery, per la funzionalità IMU e GPS, lo trovi qui.
e io che mi chiedevo cosa cambiasse dagli esempi....
che linguaggio mi consiglaito per svilupare un app per windows ce 5.0?
Madwriter:
che linguaggio mi consiglaito per svilupare un app per windows ce 5.0?
Su quali terminali gira ancora?
Io lo avevo sul mio Compaq Ipaq e poi sul Motorola MPX 200 e 220, i miei primi smartphone (quando ancora era un prodotto di nicchia), in versione WM 2003.
C.E. 5.... credevo fosse defunto.
In ambito aziendale si USA ancora. Io jo un palmare cin wm6.1
Il problema è che le app non sono compatibili con wm7
se una il .net suppongo che il C# sia il meglio per prestazioni/facilità, alla fine è una brutta copia del C++
lesto:
se una il .net suppongo che il C# sia il meglio per prestazioni/facilità, alla fine è una brutta copia del C++
ci ho gia programmato in c # facilotto grazie, io lo ho su un mini pc che pagai sui 30 euro
Madwriter:
che linguaggio mi consiglaito per svilupare un app per windows ce 5.0?
Lascia perdere il C#, sopratutto se l'hardware non è recente, usa il il C++ o il Visual Basic.
Per scrivere software per CE è indispensabile avere Visual Studio 2010 e l'SDK della corretta versione di CE, in alternativa è possibile scrivere in Pascal tramite Lazarus (totalmente free e open source).
perfetto il pascal, e li esegue tranquillamente?
Mad per sfizio mi dici marca e modello di questo pc da 30€ ?
Ha proprio windows ce, non windows mobile ? Che differenza c'è fra winCE e i relativi wm2003/wm6.1 ?
Testato:
Mad per sfizio mi dici marca e modello di questo pc da 30€ ?
Ha proprio windows ce, non windows mobile ? Che differenza c'è fra winCE e i relativi wm2003/wm6.1 ?
Sono versioni di CE tagliate su misura per PDA e Smartphone, in pratica sono release abbastanza "castrate" dove viene eliminato tutto quello che non serve su questi device e non è possibile aggiungere le parti mancanti.
Tieni presente che una installazione completa di CE richiede circa 80 megabyte sull'HD/Flash e almeno 16 mega di Ram per girare, però è scalabile, più o meno come si fa con Linux, fino a farlo stare in meno di 8 Mega e richiede solo 4 mega di Ram.
L'installazione di CE non avviene tramite un cd/dvd come si fa per altri sistemi operativi, deve essere compilato appositamente per l'hardware su cui deve girare in modo da ottenere una immagine di installazione che è specifica solo per una tipologia di hardware.
Thanks
il mio è identico a questo
http://www.ebay.it/itm/PC-NETBOOK-MINI-COMPUTER-PORTATILE-7-WINDOWS-CE-FUNZIONANTE-/151022950057?pt=Computer_portatili&hash=item2329ab56a9
io l'ho preso da un amico a 30 euro non so dirti lui da dove l'abbia preso, ma credo dalla cina
astrobeed:
lesto:
non è abbastanza! quello sul sito no ha delle descrizioni dettagliate dei registri e delle periferiche!Ti sei scordato di scaricare il reference manual degli STM32F303xx, quasi 1000 pagine di approfondimento sulle singole periferiche, hai preso solo il data sheet generico
http://www.st.com/web/en/resource/technical/document/reference_manual/DM00043574.pdf
appena arrivato il kindle (ver.4, se non erro), ho caricato subito il PDF e sfogliato qualche pagina sia all'inizio che alla fine, tabelle, immagini e testo sono fedeli al 100% con quelle del PC.
Ottimo, stanotte ho un bel mattone da leggere!!
puff, finalmente ho messo in piedi qualcosa...
il PWM per la stm32f4, però non so se funziona (finito or ora!), posto il codice così magari qualcuno a caso ( ) mi da una correzione
volatile uint16_t position[] = { 1000, 1000, 1000, 1000 }; //from 1000 to 2000
void TIM3_IRQHandler(void)
{
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
TIM3->CCR1 = position[0]; //PB0
TIM3->CCR2 = position[1]; //PB1
TIM3->CCR3 = position[2]; //PB4
TIM3->CCR4 = position[3]; //PB5
}
}
void startPWM(){
/*
* BASED ON https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32VLDiscovery/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/STM32VLDiscovery/Servo%20control%20using%20STM32VLDiscovery&FolderCTID=0x01200200770978C69A1141439FE559EB459D758000491D59B8574F8049B5DFA3E8B21CBA51&TopicsView=https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32VLDiscovery/AllItems.aspx¤tviews=397
* THANKS to Clive1
* */
// clock for GPIO and AFIO (Remap) - WHY THIS?
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
// clock for TIM3 - HERE DO WE ENABLE TIM3 HW?
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
// PIN SETUP
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_StructInit(&GPIO_InitStructure); //Reset init structure
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//THIS?
GPIO_PinRemapConfig( GPIO_FullRemap_TIM3, ENABLE ); // Map TIM3_CH3 to GPIOB.Pin0, GPIOB.Pin1, GPIOB.Pin4, GPIOB.Pin5
//OR THIS?
//GPIO_PinAFConfig(GPIOB, GPIO_PinSource0, GPIO_AF_TIM3);
//GPIO_PinAFConfig(GPIOB, GPIO_PinSource1, GPIO_AF_TIM3);
//GPIO_PinAFConfig(GPIOB, GPIO_PinSource4, GPIO_AF_TIM3);
//GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_TIM3);
//TIMER INTERRUPT SETUP
NVIC_InitTypeDef NVIC_InitStructure;
// Configure the NVIC Preemption Priority Bits
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
// Enable the TIM3 Interrupt
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
//TIMER SETUP
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructInit( &TIM_TimeBaseStructure ); // Reset init structure
// Simplify the math here so TIM_Pulse has 1 us units
// PWMFreq = SystemCoreClock / ((TIM_Prescaler + 1) * (TIM_Period + 1));
// NOT VERY SURE THE TIM3 RUN AT 24MHz....
TIM_TimeBaseStructure.TIM_Prescaler = 24 - 1; // 24 MHz / 24 = 1 MHz
TIM_TimeBaseStructure.TIM_Period = 20000 - 1; // 1 MHz / 20000 = 50 Hz (20 ms)
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_OCStructInit( &TIM_OCInitStructure );
// PWM1: Channel1, PB0
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_Pulse = position[0];
TIM_OC1Init(TIM3, &TIM_OCInitStructure);
// PWM1: Channel2, PB1
TIM_OCInitStructure.TIM_Pulse = position[1];
TIM_OC2Init(TIM3, &TIM_OCInitStructure);
// PWM1: Channel3, PB4
TIM_OCInitStructure.TIM_Pulse = position[2];
TIM_OC3Init(TIM3, &TIM_OCInitStructure);
// PWM1: Channel4, PB5
TIM_OCInitStructure.TIM_Pulse = position[3];
TIM_OC4Init(TIM3, &TIM_OCInitStructure);
// ENABLE TIMER
TIM_Cmd( TIM3, ENABLE );
TIM_CtrlPWMOutputs(TIM3, ENABLE);
// TIM IT enable
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
}
perche' non usi arduino ?
lesto:
il PWM per la stm32f4, però non so se funziona (finito or ora!),
Che vuol dire che non sai se funziona ?
Se c'è il PWM sul pin vuol dire che va altrimenti vuol dire che non va
Testato:
perche' non usi arduino ?
Perché Lesto si è evoluto, come il bruco che diventa una farfalla anche lui ha finito la sua metamorfosi, dal lento e imbranato Arduino è passato al veloce e aggraziato STM32
astrobeed:
lesto:
il PWM per la stm32f4, però non so se funziona (finito or ora!),Che vuol dire che non sai se funziona ?
Se c'è il PWM sul pin vuol dire che va altrimenti vuol dire che non va
Vuol dire che era tardi e non ho caricato il codice... Poi senza oscilloscopio devo usare Arduino con uno sketch apposta....
@ testato: al giusto lavoro il giusto chip xD
@entrambi: ma a che orq vi svegliate la mattina?? O.o