پاسخ : برنامه نویسی STM32 با مقداردهی رجیسترها در ++C
سلام دوسته عزیز.
شما بزرگوارید . بله بعد مراسمات دیگه کار هم فشار آورده بود که باید همشونو جمع میکردم. اونوقت اینجا سوال شما هم نیاز به مطالعه داشت که واقعا وقت نمیشد .به هر حال بلاخره سرو کله ی ما پیدا شد.
دوستان تو انجمن stm گفتن که باید برای تاخییر بیا اون while رو داخل یه تابع بزار (تا همین جا مشکلم حل شد) و گفتن مقدار متغییری که قرار هست به اون مقدار تاخییر بیوفته رو volatile تعریف کن.
volatile تعریف کلیک کن
حالا شما امتحان کنید ببینید براتون درست میشه یا خیر.من که زمان روشن موندن و خاموش موندن برابر شد.
نوشته اصلی توسط ubub
نمایش پست ها
شما بزرگوارید . بله بعد مراسمات دیگه کار هم فشار آورده بود که باید همشونو جمع میکردم. اونوقت اینجا سوال شما هم نیاز به مطالعه داشت که واقعا وقت نمیشد .به هر حال بلاخره سرو کله ی ما پیدا شد.
دوستان تو انجمن stm گفتن که باید برای تاخییر بیا اون while رو داخل یه تابع بزار (تا همین جا مشکلم حل شد) و گفتن مقدار متغییری که قرار هست به اون مقدار تاخییر بیوفته رو volatile تعریف کن.
volatile تعریف کلیک کن
حالا شما امتحان کنید ببینید براتون درست میشه یا خیر.من که زمان روشن موندن و خاموش موندن برابر شد.
کد:
#include "stm32f10x.h" #include "stm32f10x_gpio.h" // for Enable LCD #include "stm32f10x_rcc.h" //for Enable LCD #include "LCDLib.h" #include "delay.h" void GPIOC_init(void); void delay(void); int dly=0; int main() { GPIOC_init(); while(1) { GPIO_WriteBit(GPIOB,GPIO_Pin_0, Bit_SET); delay(); GPIO_WriteBit(GPIOB,GPIO_Pin_0, Bit_RESET); delay(); } } void delay(void){ while(dly<10000000)dly+=1; dly=0; } void GPIOC_init(void) { RCC_APB2PeriphClockCmd ( RCC_APB2Periph_GPIOB, ENABLE ); GPIO_InitTypeDef gpioC; gpioC.GPIO_Mode = GPIO_Mode_Out_PP ; gpioC.GPIO_Pin = GPIO_Pin_All; gpioC.GPIO_Speed = GPIO_Speed_10MHz; GPIO_Init ( GPIOB, &gpioC ); }
دیدگاه