| Автор |
Съобщение |
|
Gogo
Ранг: Форумен бог
Регистриран на: Чет Фев 24, 2005 11:41 pm Мнения: 1049 Местоположение: Pz
|
 dspic33 проблем :-)
Компилатора е C30 - v3.31, а контролера dsPIC33FJ256MC710
syscou = 65535-500; if(i) {while(syscou) continue;}
"syscou" е unsigned int, а "i" е signed int syscou се увеличава на всеки 10мс в прекъсване от таймер. (syscou++;) Т.е. ако е изпълнено условието, ще има 5 секунди изчакване. Да, ама не!? Поне не и както е написано по-горе. Според контролера, syscou винаги е различен от 0 !? Като го напиша така:
if(i) {while(syscou) printf("%d", syscou);}
заработва.
|
| Сря Юни 27, 2012 12:01 pm |
|
 |
|
michev
Ранг: Форумен бог
Регистриран на: Сря Юли 11, 2007 10:16 am Мнения: 1730
|
 Re: dspic33 проблем :-)
Може компилатора да е оптимизирал мааалко в повече от колкото ти е нужно. Погледни асеблерския листинг дали всичко което си написал е там. Като за проба - бих сложил един НОП - asm("nop"); в цикъла.
|
| Сря Юни 27, 2012 12:24 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: dspic33 проблем :-)
Освен, че е unsigned int, летлива ли е?
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Сря Юни 27, 2012 12:49 pm |
|
 |
|
rumen65
Ранг: Новодошъл
Регистриран на: Чет Окт 06, 2005 2:06 pm Мнения: 194 Местоположение: Sofia
|
 Re: dspic33 проблем :-)
А има ли?
volatile syscou
PS писали сме едновременно.
|
| Сря Юни 27, 2012 12:51 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: dspic33 проблем :-)
volatile... тая думичка трябва да ви винаги в главата като пишете ембедед код.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Юни 27, 2012 12:59 pm |
|
 |
|
Gogo
Ранг: Форумен бог
Регистриран на: Чет Фев 24, 2005 11:41 pm Мнения: 1049 Местоположение: Pz
|
 Re: dspic33 проблем :-)
Да... с volatile се оправиха нещата.
|
| Сря Юни 27, 2012 1:45 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
 Re: dspic33 проблем :-)
Ако обаче е дефинирана като volatile в един файл, а в друг я използваш дефинирана само като extern, то мисля, че пак ще се спече.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Чет Юли 05, 2012 3:31 am |
|
 |
|
Gogo
Ранг: Форумен бог
Регистриран на: Чет Фев 24, 2005 11:41 pm Мнения: 1049 Местоположение: Pz
|
 Re: dspic33 проблем :-)
Дефинирана е: В другия, който е видим от всички, е:
|
| Чет Юли 05, 2012 8:14 am |
|
|