در دو پروژه جدا هر کدام از وقفه ها را جداگانه تست کنید ببینید درست کار می کنه
در دو پروژه جدا هر کدام از وقفه ها را جداگانه تست کنید ببینید درست کار می کنه
بله بطور جدا درست عمل میکنند ولی با هم نه
ویرایش توسط microman2014 : 27-05-2014 در ساعت 02:20
آقا مشکل ما برای وقفه های خارجی حل شد. تو برنامه نویسی تعریف پایه های وقفه خارجی (pinsel4) اشتباه کرده بودم . برای دو تا پین جداگانه وقفه رو تعریف میکردم که خب طبیعی بود وقتی برای دومی نوشتم تعریف اولی رو از بین بردم. درستش این بود که برای هر دو یه جا تعریف کنم یعنی:
LPC_PINCON->PINSEL4= 0x01400000
سلام اقای زرکوب من این فیلم را تهیه کردم و برای UART0 با توابع CMSIS طبق آموزش های شما یک برنامه نوشتم و برنامه من هیچ Error ندارد ولی Baudrate درست تنظیم نمی شود.
دقیقا Baudrate به جای 9600, 153459 تنظیم می شود.
میشه این برنامه را یک نگاه بندارید ببینید مشکل کجاست؟
دوستان مشکل رو پیدا کردم. ورژن فایل هدری که من استفاده می کردم 3.1 بود ولی ورژن هدر داخل فیلم 3.2 بود.
این دومین باره که از این مدل بلاها سرم میاد. این CMSIS خیلی خوبه بجر این جور موقع ها
من یک مشکلی دارم .
یک آرایه و یک متغییر تعریف کردم مثل:
کد:char Buffer0[500]; int A;
حالا می خواهم با عملگر sizeof طول رشته Buffer0 را اندازه بگیرم ولی به جای اندازه گیری طول کارکترهای ذخیره شده در آن عدد 500 را به من بر میگرداند.
به نظر شما چه جوری این مشکل را حل کنم؟کد:A=sizeof(Buffer0);
سلام
من طبق شماتیکی که در فایل اموزشی فیلم بود ال سی دی کاراکتری
را پیکر بندی و سیم کشی کردم و برنامه ای که در فایل اموزشی بود (lcd_test / 4 / LCD4) را هم کامپایل کردم و ریختم توی میکرو ، ولی ال سی دی کار نمیکنه.
ممنون میشم راهنمایی فرمایید.
مشکل عملگر Sizeof رو حل کردم از تابع strlen در کتابخانه string.h استفاده کردم.
سوال دوم :
ایا برای اتصال ال سی دی کاراکتری 16*2 به برد لند تایگر نیاز به قطعه واسط (تبدیل سطح لاجیک 3.3 ولت به 5 ولت) نیاز هست؟
اخه خروجی پایه های میکرو 3.3 ولت هست .
سلام
در برنامه اتصالاتی که باید انجام شود تعریف شده است و قابل تغییر می باشد:
به شماره پایه هایی که در برنامه قرار دارد دقت شود. چون در مقایسه با عکس تغییر داده شده است.کد:#define LCD_PORT_0#define LCD_RS 15 #define LCD_RW 16 #define LCD_E 17 #define LCD_DB4 22 #define LCD_DB5 23 #define LCD_DB6 24 #define LCD_DB7 25
عکس اتصالات در پست های قبلی قرار داده شده بود:
http://www.iranmicro.ir/forum/showth...ll=1#post89606
که در این شکل از پایه های دیگری استفاده شده است که بستگی دارد در برنامه چه چیزی تعریف شده است
ویرایش توسط mzarkoob : 06-06-2014 در ساعت 01:33
سلام اقای زرکوب
من ال سی دی رو این طوری کانفیگ کردم :
ولی الان فقط علامت سوال و صفر و کاراکتر جهت رو نشون میده !کد:#define LCD_PORT_0 #define LCD_RS 2 #define LCD_RW 0 #define LCD_E 3 #define LCD_DB4 4 #define LCD_DB5 5 #define LCD_DB6 6 #define LCD_DB7 7
در ضمن من طبق مثالی که در فیلم اموزشی بود هم پایه های ال سی دی را کانفیگ کردم بازم هم کار نکرد
اصلا کسی هست که با برد لندتایگر تونسته باشه ال سی دی کاراکتری راه اندازی کنه؟!
ممنون میشم راهنمایی کنید
با تشکر
ویرایش توسط 0098 : 06-06-2014 در ساعت 13:02
سلام اقای زرکوب
میخوام فقط پایه p.0.0 را صفر کنم و کاری به بقیه پایه ها نداشته باشمکد:lpc_gpio0->fiodir = (1<<0); lpc_gpio0->fioset = (1<<0); lpc_gpio0->fioclr = (1<<0);
این تکه کد توی شبیه ساز کیل کار میکنه ولی روی برد بوسیله دیباگ کار نمیکنه ( وقتی وضعیت پایه p.0.0 را چک میکنم باید صفر شه ولی روی حالت یک میمونه)
سلام
ایراد کار از من بود!
طبق مثال فیلم راه اندازی شد.
چیزی که متوجه شدم این بود که اگر میخواهیم از پین های برد استارتر استفاده کنیم (مخصوصا برای ال سی دی کاراکتری !)باید حتما ان پایه ای که میخواهیم استفاده کنیم ازاد باشد(مثلا من در برد لند تایگر ال سی دی رنگی را خارج کردم تا پایه هایی که لازم دارم ازاد شوند)
ویرایش توسط 0098 : 06-06-2014 در ساعت 13:51
سلام
ببخشید من هر مداری توی تقویت کننده بستم هنوز نتونستم از dac میکرو lpc1768 جواب بگیرم !!!
تقویت کننده با ترانزیستور بستم و با lm358 هم بستم ولی با هیچ کدوم بلندگو هیچ صدایی نمیده !!!
چندین برنامه و سمپل هم تست کردم ولی جواب نمیده ، خروجی dac رو با ولتمتر خوندم که حتی با تغییر در مقدار lpc_dac->dacr = (500); که الان مقدارش 500 هست یعنی 0.5 ضرب در 3.3 ولت که باید 1.65 ولت در خروجی dac داشته باشیم ولی ولتاژ روی 2.5 ولت ثابت مونده و هیچ تغییری نمیکنه !!!
من توی بردی که برای lpc1768 طراحی کردم پایه های vdda و vref+ با سلف و خازن به 3.3 ولت متصل شده و پایه های vssa و vref- با خازن و سلف به منفی متصل شده (طراحی طبق شماتیک لندینگ تایگر بوده) ولی جواب نمیده !!! حتی با هدر برد های تولید eca هم جواب نمیده !!!
این هم برنامه سمپل های خودتون هست :
کد:NOTE
// created : Mahdi Zarkoob // Kavirelectronic.ir #include "LPC17xx.h" int main(void) { LPC_PINCON->PINSEL1 = 0x00200000; /* set p0.26 to DAC output */ LPC_DAC->DACCNTVAL = 0x00FF; LPC_DAC->DACCTRL = (0x1<<1)|(0x1<<2); while (1) { LPC_DAC->DACR = (1000); } }
ویرایش توسط soodi : 06-06-2014 در ساعت 16:30
ویرایش توسط mzarkoob : 06-06-2014 در ساعت 18:39
آقای زرکوب تا حالا شما از این تابع rs485 داخل کتابخانه uart مربوط به cmsis استفاده کردید؟
اگر استفاده کردید میشه به من یک نمونه کد بدید؟
با تشکر
آقای زرکوب یک نمونه کد برای راه اندازی UART1 با CMSIS میتونید به من بدید؟
من از این تابع اومدم استفاه کنم مثل UART0 ولی Error میده
کد:UART_Init(LPC_UART1, &UART_InitStruct);