|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2024 10 14, 20:02. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Mikrovaldikliai » Info apie ARM programavima
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
|
Info apie ARM programavima |
Parašytas: 2016 09 25, 17:47 |
|
|
|
minex rašo: |
tai turint klaidos kodą galima pagooglint, užvedžiau ant kelio, toliau ir pats galėtum įdėti pastangų. Tada bandyk naudoti %lf. Nors keil veikia ir su f ir su lf. |
jau google keleta kartu isnarsyta, tik nieko gero neradau kad man veiktu, isbandziau visas reaides, veikia tik su c. cia ateini pagalbos kai keleta dienu nieko nerandi google. nes cia ir paklausus, beveik nesitikima gauti pagalbos |
|
_________________ Skype: dmb-220 |
|
|
|
|
Info apie ARM programavima |
Parašytas: 2016 09 27, 10:57 |
|
|
|
blah rašo: |
galima, konkreciai su "Serial wire viewer" nebandziau, bet vakare gal pabandysiu |
Visdelto pamelavau, norint paleisti SWO reikalingas SWO pin'as, kurio sitas programeris neturi, bet gali juk naudoti semihosting'a. Aisku SWO yra geriau, kadangi nestabdo CPU, bet jei jau nepakanka semihosting'o tai tada galima ir brangesni programeri isigyti |
|
|
|
|
|
|
Info apie ARM programavima |
Parašytas: 2016 10 12, 19:28 |
|
|
|
dmb-220 rašo: |
minex rašo: |
tai turint klaidos kodą galima pagooglint, užvedžiau ant kelio, toliau ir pats galėtum įdėti pastangų. Tada bandyk naudoti %lf. Nors keil veikia ir su f ir su lf. |
jau google keleta kartu isnarsyta, tik nieko gero neradau kad man veiktu, isbandziau visas reaides, veikia tik su c. cia ateini pagalbos kai keleta dienu nieko nerandi google. nes cia ir paklausus, beveik nesitikima gauti pagalbos |
Kodas: |
// reverses a string 'str' of length 'len'
void reverse(char *str, int len){
int i=0, j=len-1, temp;
while (i<j){
temp = str[i];
str[i] = str[j];
str[j] = temp;
i++; j--;
}
}
// Converts a given integer x to string str[]. d is the number
// of digits required in output. If d is more than the number
// of digits in x, then 0s are added at the beginning.
int intToStr(int x, char str[], int d){
int i = 0;
while (x){
str[i++] = (x%10) + '0';
x = x/10;
}
// If number of digits required is more, then
// add 0s at the beginning
while (i < d)
str[i++] = '0';
reverse(str, i);
str[i] = '\0';
return i;
}
// Converts a floating point number to string.
void ftoa(float n, char *res, int afterpoint){
// Extract integer part
int ipart = (int)n;
// Extract floating part
float fpart = n - (float)ipart;
// convert integer part to string
int i = intToStr(ipart, res, 0);
// check for display option after point
if (afterpoint != 0){
res[i] = '.'; // add dot
// Get the value of fraction part upto given no.
// of points after dot. The third parameter is needed
// to handle cases like 233.007
fpart = fpart * pow(10, afterpoint);
intToStr((int)fpart, res + i + 1, afterpoint);
}
}
|
radau kita iseiti, rastas kodo gabalelis, kuris labai puikiai is float pakeiscia i string. gal kazkam pasitarnaus.
P.S. kazin kodel pas manes temperaturos davikliai rodo 6 laisniais daugiau negu yra. jau pora isbandziau. lyginu su gyvsidabrio termometro parodymais. |
|
_________________ Skype: dmb-220 |
|
|
|
|
|
Info apie ARM programavima |
Parašytas: 2016 10 13, 11:20 |
|
|
|
dmb, tavo pateiktam intToStr() yra potenciali skyle:
jei str isskirta maziau atminties nei d, tai galimas kitu duomenu sugadinimas.
beje, ftoa() irgi turi sita yda. |
|
|
|
|
|
Info apie ARM programavima |
Parašytas: 2016 10 13, 16:20 |
|
|
|
Taisyti ten reikia filosofiskai, t.y. stipriai keisti funkcionaluma arba tureti uomenyje, kad siu f-ju panaudojimo patogumas gali buti palydetas klaidomis.
Jei is anksto pasirupinsi pakankamos talpos bufferiu ir seksi ka perduodi i f-jas, tai viskas bus gerai ir su esama redakcija. |
|
|
|
|
|
Info apie ARM programavima |
Parašytas: 2016 11 26, 09:57 |
|
|
|
naudoju STM32f103 ir DS3231 veikia viskas gerai, kol pajungta i elektra, atjungus nuo elektros arba jai dingus DS3231 man nebeskaiciuoja laiko, jis sustoja, ijungus i elektra jis pradeda vel skaiciuoti laika nuo to momento kai sustojo.
Kur cia ieskoti problemos? DS3231 baterija nuslabusi? bet jei taip tai laikas i 0.0.0 grystu. gal kas turit kokiu minciu? |
|
_________________ Skype: dmb-220 |
|
|
|
|
|
Info apie ARM programavima |
Parašytas: 2017 02 23, 23:42 |
|
|
|
Kodas: |
//Kintamieji
unsigned char button, menu;
uint16_t btn;
void ADC_Configuration(void){
GPIO_InitTypeDef GPIO_InitStructure;
ADC_InitTypeDef ADC_InitStructure;
RCC_ADCCLKConfig(RCC_PCLK2_Div6);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
ADC_DeInit(ADC1);
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC1, &ADC_InitStructure);
ADC_Cmd(ADC1, ENABLE);
ADC_ResetCalibration(ADC1);
while(ADC_GetResetCalibrationStatus(ADC1));
ADC_StartCalibration(ADC1);
while(ADC_GetCalibrationStatus(ADC1));
}
uint16_t readADC1(uint8_t channel){
ADC_RegularChannelConfig(ADC1, channel, 1, ADC_SampleTime_1Cycles5);
// Start the conversion
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
// Wait until conversion completion
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);
// Get the conversion value
uint16_t abutton = ADC_GetConversionValue(ADC1);
//tikrinama koks myktukas buvo nuspaustas
if(abutton<30){button=1; btn=1; /*Atgal*/ }else
if (abutton<450 && abutton>300){button=2; btn=2; /*Desine*/ }else
if (abutton<1050 && abutton>900){button=3; btn=3; /*Zemyn*/ }else
if (abutton<1600 && abutton>1400){button=4; btn=4; /*OK*/ }else
if (abutton<2300 && abutton>2100){button=5; btn=5; /*Kaire*/ }else
if (abutton<2900 && abutton>2700){button=6; btn=6; /*Aukstyn*/ }else
if (abutton<3400 && abutton>3200){button=7; btn=7; /*Meniu*/ }else{button=0;}
drawNumber(20, 150, DARKCYAN, BLACK, abutton, 2, 4);
return btn;
return button;
} |
man kazkodel grazina reiksme nuo 0 iki 255 8bit rezoliucija, noriu kad duomenys butu 12 bit rezoliuzijos. viename projekte veikia, persikopijavau funkcijas, naujame projekte nebeveikia. gal kas zino kur problema? naudoju stm32f103 |
|
_________________ Skype: dmb-220 |
|
|
|
|
|
Info apie ARM programavima |
Parašytas: 2017 02 24, 18:34 |
|
|
|
Socrates rašo: |
Kas isstatyta ADC_InitStructure.Resolution ? |
kad pas manes kode tokio nustatymo isvis nera, google ziurejau nieko neranda |
|
_________________ Skype: dmb-220 |
|
|
|
|
Info apie ARM programavima |
Parašytas: 2017 02 24, 18:45 |
|
|
|
dmb-220 rašo: |
Socrates rašo: |
Kas isstatyta ADC_InitStructure.Resolution ? |
kad pas manes kode tokio nustatymo isvis nera, google ziurejau nieko neranda |
I STM32F4 headerius paziurejau...
Tu tikrini kas atsiranda abutton kintamajame? debuggeri turi? |
|
|
|
|
|
|
Info apie ARM programavima |
Parašytas: 2017 02 24, 19:52 |
|
|
|
Socrates rašo: |
dmb-220 rašo: |
Socrates rašo: |
Kas isstatyta ADC_InitStructure.Resolution ? |
kad pas manes kode tokio nustatymo isvis nera, google ziurejau nieko neranda |
I STM32F4 headerius paziurejau...
Tu tikrini kas atsiranda abutton kintamajame? debuggeri turi? |
taip tikrinu reiksme abutton, nes man reik myktukams reiksmiu, su led matrix myktukai veikia puikia ir grazina reiksme iki 4095, perkelus adc koda i nauja projekta reiksmes lieka iki 255, kazkada buvau su kintamuju tipais blogai nurodes ant arduino, tai automatiskai 10bit numuzdavo i 8 bit. o cia lik viskas gerai su kintamuju tipais.
debugeri esu pasikures, bet naudotis nelabai moku, is manes silpnas programuotojas. man su juo toks tamsus miskas.
P.S. jau susitvarkiau, isvedimo i ekrana funkcijoje buvo
Kodas: |
unsigned char tmp = val; |
uint16_t tipa pakeisdavo i usigned char. eilini karta lygioje vietoje kritau |
|
Paskutinį kartą redagavo dmb-220, 2017 02 24, 20:18. Redaguota 1 kartą _________________ Skype: dmb-220 |
|
|
|
|
|
Info apie ARM programavima |
Parašytas: 2017 02 24, 20:17 |
|
|
|
Na tada reikia ziuret fundamentaliau... Ar tikrai ADC atliko matavima? Ar reikai ieskot kada EOC bus SET, o ne RESET? Paskui pats ta veliavele turesi isvalyt. |
|
|
|
|
|
Info apie ARM programavima |
Parašytas: 2017 02 24, 20:19 |
|
|
|
Socrates rašo: |
Na tada reikia ziuret fundamentaliau... Ar tikrai ADC atliko matavima? Ar reikai ieskot kada EOC bus SET, o ne RESET? Paskui pats ta veliavele turesi isvalyt. |
aciu uz pagalba jau susitvarkiau, redageves paskutine zinute parasiau kur buvo klaida, as sugebu lygioje vietoje prisidirbti |
|
_________________ Skype: dmb-220 |
|
|
|
|
Info apie ARM programavima |
Parašytas: 2017 02 24, 20:30 |
|
|
|
dmb-220 rašo: |
Socrates rašo: |
Na tada reikia ziuret fundamentaliau... Ar tikrai ADC atliko matavima? Ar reikai ieskot kada EOC bus SET, o ne RESET? Paskui pats ta veliavele turesi isvalyt. |
aciu uz pagalba jau susitvarkiau, redageves paskutine zinute parasiau kur buvo klaida, as sugebu lygioje vietoje prisidirbti |
Anos eilutes tavo duotam kode lyg ir nebuvo... |
|
|
|
|
|
|
Google paieška forume |
|
|
Naujos temos forume |
|
|
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
|
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
|
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
|
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
|
LEGO
Mänguköök,
mudelautod,
nukuvanker |
|
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
|
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
|
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
|
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
|
GTA 6 Weapons
GTA 6 Characters,
GTA 6 Map,
GTA 6 Vehicles |
|
FS25 Mods
Farming Simulator 25 Mods |
|
|
|