سلام دوستان من یه برد اموزشی میکرو stm32f103zet6 از همینجا خریدم.کار با پین ها و دسترسی به رجیسترهارو بدون استفاده از کتابخونه یاد گرفتم.در واقع واسه GPIO خورم یه کتابخونه نوشتم.اما حالا میخوام این ال سیدی رو راه بندازم.همه چیزشو بلدم دیتا شیتشم خوندم اما مشکل اینجاست که 16 تا پایه دیتای ال سی دی به پین های مختلف میکرو وصله و ترتیبش از قرار زیره که من برا هر پایه یه اسم تعریف کردم:
حالا مشکل اینه که اگه بخوام تابع واسه مقدار دهی به این پایه ها بنویسم باید هر بار همه این 16 تا رو دستی صفرو یک کرد که طبیعتا کار غیر عاقلانه و طاقت فرساییه!! :icon_razz:
اما سوال اینجاست که چطور میشه همه این پین ها رو به عنوان یک متغیر یا یه چیزی شبیه پورت مجازی در نظر گرفت که مثلا با یکبار مقدار دادن مثلا یه عدد هگز مثل 0xffff همه پایه ها مثلا یک بشه یا یک همچین چیزی!
من که هرکار کردم موفق نشدم.دوستان شما راهی به ذهنتون میرسه؟؟ :angry:
در ضمن جواب این سوال بیشتر مربوط به زبان سی هست و خیلی فرق نداره تو IAR باشه یا keil :nice:
کد:
#define DB1 GPIOD_ODR_bit.ODR14 #define DB2 GPIOD_ODR_bit.ODR15 #define DB3 GPIOD_ODR_bit.ODR0 #define DB4 GPIOD_ODR_bit.ODR1 #define DB5 GPIOE_ODR_bit.ODR7 #define DB6 GPIOE_ODR_bit.ODR8 #define DB7 GPIOE_ODR_bit.ODR9 #define DB8 GPIOE_ODR_bit.ODR10 #define DB10 GPIOE_ODR_bit.ODR11 #define DB11 GPIOE_ODR_bit.ODR12 #define DB12 GPIOE_ODR_bit.ODR13 #define DB13 GPIOE_ODR_bit.ODR14 #define DB14 GPIOE_ODR_bit.ODR15 #define DB15 GPIOD_ODR_bit.ODR8 #define DB16 GPIOD_ODR_bit.ODR9 #define DB17 GPIOD_ODR_bit.ODR10
اما سوال اینجاست که چطور میشه همه این پین ها رو به عنوان یک متغیر یا یه چیزی شبیه پورت مجازی در نظر گرفت که مثلا با یکبار مقدار دادن مثلا یه عدد هگز مثل 0xffff همه پایه ها مثلا یک بشه یا یک همچین چیزی!
من که هرکار کردم موفق نشدم.دوستان شما راهی به ذهنتون میرسه؟؟ :angry:
در ضمن جواب این سوال بیشتر مربوط به زبان سی هست و خیلی فرق نداره تو IAR باشه یا keil :nice:
دیدگاه