۲۳-مرداد-۱۳۹۵, ۲۰:۱۷:۴۲
۲۴-مرداد-۱۳۹۵, ۱۷:۰۵:۲۰
(۲۳-مرداد-۱۳۹۵, ۲۰:۱۷:۴۲)Mojtababm نوشته است: [ -> ]سلام دوستاندوستان کسی نیست به ما کمک کنه
توی زبان سی و کامپایلر keil چه جوری میشه یه کلمه مثلا ali رو به صورت حروف جدا جدا روی lcd نمایش داد
مثلا اول a رو نمایش داد بعد از چند ثانیه l وبعد i
۲۴-مرداد-۱۳۹۵, ۱۹:۲۶:۴۷
سلام.
سوالتون خیلی کلی هست و ربطی به زبان و کامپایلر نداره ...
کدتون رو بذارید ...
موفق باشید.
سوالتون خیلی کلی هست و ربطی به زبان و کامپایلر نداره ...
کدتون رو بذارید ...
موفق باشید.
۲۵-مرداد-۱۳۹۵, ۱۸:۵۸:۱۱
(۲۴-مرداد-۱۳۹۵, ۱۹:۲۶:۴۷)sharin نوشته است: [ -> ]سلام.
سوالتون خیلی کلی هست و ربطی به زبان و کامپایلر نداره ...
کدتون رو بذارید ...
موفق باشید.
ببین من می خوام یه عدد رو با میکرو LPC ارسال کنم(با پروتکل spi) و اون سمت با یه میکرو دیگه بخونم مشکلم اینه که اعداد بزرگتر از 256 رو ارسال نمی کنه
اینم برنامه ام
فایل spi
یعنی ارسال می کنه ولی یه عدد دیگه نشون می ده
نمی دونم باید چی کار کنم؟؟
۲۶-مرداد-۱۳۹۵, ۱۶:۵۶:۲۰
(۲۴-مرداد-۱۳۹۵, ۱۹:۲۶:۴۷)sharin نوشته است: [ -> ]سلام.
سوالتون خیلی کلی هست و ربطی به زبان و کامپایلر نداره ...
کدتون رو بذارید ...
موفق باشید.
خب سورس برنامه رو گذاشتم لطف کنی بگی چی کار کنم؟؟ ممنونت می شم
۲۶-مرداد-۱۳۹۵, ۲۲:۴۷:۳۸
بچه ها یکم گرفتارن؛ مطمن باشید به محص اینکه آنلاین بشند پاسخ میدن؛ عجله نکنید
حالا خوشم میاد تا یک سال دیگه کسی جواب نده ضایع بشم
حالا خوشم میاد تا یک سال دیگه کسی جواب نده ضایع بشم
۲۷-مرداد-۱۳۹۵, ۰۲:۰۱:۰۲
سلام
سوالتون رو به 2 بخش تقسیم میکنم و فرض میکنم که ارتباط spi شما سالمه و 8 بیتی هست.
و هر حرف و ... معادل یک کد اسکی هست کامپایلر وظیفه تبدیلش رو به عهده داره
مثلا
موقع شبیه سازی یا debug اگه متغیر های var و var2 رو watch کنید، متوجه منظورم میشید(البته اگه ربطی به سوالتون داشته باشه )
پس با این حساب برای ارسال ali باید آرایه ای که ali درش نوشته شده، رو index به index با تابع spi به slave ارسال کنید:
لینک Compile & Exec آنلاین
تابع spi تون، آرگومان اش، 8 بیتی هست. متغیر 8 بیتی 0 تا 255 رو میتونه ذخیره کنه.
وقتی شما 256 و بزگتر از 256 رو میخواین ارسال کنید، 8 بیت اول عددتون فقط ارسال میشه. بقیه بیت ها از دست میرن.
برای ارسال هر عدد 16 بیتی، 2 بار تابع spi رو فراخوانی کنید و در هر بار، 8 بیت از عددتون رو ارسال کنید.
منتهی سمت slave هم باید برای دریافت یک عدد 16 بیتی برنامه رو تغییر بدید، طوری که هر عدد 16 بیتی به کمک 2 بار فراخوانی تابع spi تشکیل بشه ( اپراتور های << و >> رو در زبان C مرور کنید) (به نام اپراتوهای bitwise یا عمگرهای بیتی شناخته میشن؛ عملگر >> و << عملگرهای شیفت هستند؛ اطلاعات بیشتر در ویکی )
موفق باشید
سوالتون رو به 2 بخش تقسیم میکنم و فرض میکنم که ارتباط spi شما سالمه و 8 بیتی هست.
نقل قول: توی زبان سی و کامپایلر keil چه جوری میشه یه کلمه مثلا ali رو به صورت حروف جدا جدا روی lcd نمایش دادخب، هر string ای برای مثال ali، آرایه ای از کاراکتر هاست. کاراکترها ذاتا عدد 8 بیتی هستن(کاری با unicode ها ندارم)
مثلا اول a رو نمایش داد بعد از چند ثانیه l وبعد i
و هر حرف و ... معادل یک کد اسکی هست کامپایلر وظیفه تبدیلش رو به عهده داره
مثلا
کد:
char var = 'a';
unsigned short var2 = var;
پس با این حساب برای ارسال ali باید آرایه ای که ali درش نوشته شده، رو index به index با تابع spi به slave ارسال کنید:
لینک Compile & Exec آنلاین
نقل قول: ببین من می خوام یه عدد رو با میکرو LPC ارسال کنم(با پروتکل spi) و اون سمت با یه میکرو دیگه بخونم مشکلم اینه که اعداد بزرگتر از 256 رو ارسال نمی کنهخب طبیعیه
تابع spi تون، آرگومان اش، 8 بیتی هست. متغیر 8 بیتی 0 تا 255 رو میتونه ذخیره کنه.
وقتی شما 256 و بزگتر از 256 رو میخواین ارسال کنید، 8 بیت اول عددتون فقط ارسال میشه. بقیه بیت ها از دست میرن.
برای ارسال هر عدد 16 بیتی، 2 بار تابع spi رو فراخوانی کنید و در هر بار، 8 بیت از عددتون رو ارسال کنید.
منتهی سمت slave هم باید برای دریافت یک عدد 16 بیتی برنامه رو تغییر بدید، طوری که هر عدد 16 بیتی به کمک 2 بار فراخوانی تابع spi تشکیل بشه ( اپراتور های << و >> رو در زبان C مرور کنید) (به نام اپراتوهای bitwise یا عمگرهای بیتی شناخته میشن؛ عملگر >> و << عملگرهای شیفت هستند؛ اطلاعات بیشتر در ویکی )
موفق باشید