توابع و الزامات کاربردی زبان C در برنامه نویسی برای STM8

برنامه نویسی برای STM8

برنامه نویسی برای STM8 به زبان C در IAR

بخش مقدمه و آشنایی با میکرو های STM8 در قسمت های گذشته به پایان رسید.

این فصل وارد برنامه نویسی برای STM8 میشویم و درواقع فصل یک ستون اصلی مطالب را تشکیل میدهد که با توجه به حجم بسیار گسترده مطالب ، تلاش خواهد گردید که هر موضوع و ابزار کاربردی در میکروکنترولر STM8 همراه با پروژه های ساده همراه گردد که درک مطلب تسهیل گردد.

1.    معرفی برخی از توابع و الزامات کاربردی در زبان برنامه نویسی C
2.    پیکربندی و تنظیمات پایه های کاربردی ( پورت های عمومی )
3.    تایمر و کانتر
4.    کنترل منابع وقفه
5.    مبدل آنالوگ به دیجیتال
6.    اتصال ابزار های جانبی

 معرفی برخی از توابع و الزامات کاربردی در زبان برنامه نویسی C

با توجه به این که آموزش زبان C در وبسایت قرار گرفته است ، در این بخش قصد ما آموزش زبان برنامه نویسی C نمیباشد و تنها برخی از توابع پرکاربرد و احتمالاً فراموش شده را فقط مرور خواهیم کرد.

کلمات کلیدی زبان C

( از این عناوین به هیچ عنوان در برنامه برای نامگذاری ها استفاده نمیشود)

Auto Double Int Struct
Break Else Long Switch
Case Enum Register Typeof
Char Extern Return Union
Const Float Short Unsigned
Continue For Signed Void
Default Goto Sizeof Volatile
Do If Static while

 

انواع داده و مقادیر قابل قبول

نوع داده اندازه به بیت بازه قابل قبول
char 8 -127 تا 127
unsigned char 8 0 تا 255
signed char 8 -127 تا 127
int 16 – 32 -32767 تا 32767
unsigned int 16 – 32 0 تا 65535
signed int 16-32 -32767 تا 32767
short int 16 -32767 تا 32767
long int 32 -214748364 تا 2147483647
float 32 هفت رقم اعشار
double 64 پانزده رقم دقت
long double 80 19 رقم دقت

 

عملگرهای ترکیبی

عملگر نام مثال معادل
=+ انتساب جمع X+=Y X=X+Y
=- انتساب تفریق X-=Y X=X-Y
=* انتساب ضرب X*=Y X=X*Y
=/ انتساب تقسیم X/=Y X=X/Y
=% انتساب باقیمانده تقسیم X %= Y X=X % Y

 

تابع Printf

عبارت دوم ، اطلاعاتی است که باید به خروجی منتقل گردد و عبارت اول می تواند تعیین کننده فرمت اطلاعات خروجی باشد.

کاراکترهای فرمت با علامت % شروع میشوند که در جداول مقادیر آن مشاهده میگردد.

و همچنین عبارت دوم میتوان به عنوان کارکتر کنترلی نیز به کار گرفته شود که آیا تمام اطلاعات در یک سطر چاپ شود و با فاصله باشند و سایر وضعیت های ممکن .

کاراکترهای کنترلی با علامت \ شروع میشوند.

در کل حتی میتوان عبارت دوم را نداشت که اطلاعات فقط چاپ شود.

 

کاراکتر های فرمت در C

کاراکتر نوع اطلاعاتی که باید به خروجی برود
%C یک کاراکتر
%d اعداد صحیح دهدهی مثبت و منفی
%i اعداد صحیح دهدهی مثبت و منفی
%e نمایش علمی عدد همراه با حرف e
%E نمایش علمی اعداد همراه با حرف E
%f عدد اعشاری ممیز شناور
%g اعداد اعشاری ممیز شناور
%G اعداد اعشاری ممیز شناور
%o اعداد مبنای 8 مثبت
%s رشته­ای از کارکترهای ( عبارت رشته­ای)
%u اعداد صحیح بدون علامت ( مثبت)
%x اعداد مبنای 16 مثبت با حروف کوچک
%X اعداد مبنای 16 مثبت با حروف بزرگ
%p Pointer ( اشاره­گر)
%n تعداد کارکترهای که قبل از این به خروجی منتقل شده­اند شمارش شده در پارامتر متناظر با آن قرار گیرد.
%% علامت %

 

کاراکترهای کنترلی در C

 

کاراکتر عملی که باید انجام شود
f\ موجب انتقال کنترل به صفحه جدید میشود
n\ موجب انتقال کنترل به خط جدید میشود
t\ انتقال به 8 محل بعدی صفحه نمایش
”\ چاپ کوتیشن(“)
’\ چاپ کوتیشن(‘)
\ Null  ( رشته تهی )
\\ Back Slash
N\ ثابت های مبنای 8 ( N عدد مبنای 8 است)
xN\ ثابتهای مبنای 16(N عدد مبنای 16 است)
r\ در بعضی دستورات بکار برده میشود و علامت Enter  است

 

مثال:

خروجی:

x=10 , y=15.500000 , ch=a

تابع scanf

این تابع برای ورود اطلاعات از صفحه کلید مورد استفاده قرار میگیرد و یک تابع همه منظوره در ورود داده ها است .

عبارت دوم آدرس متغیرهایی است که باید خوانده شوند و عبارت یکم مشخص میکند که مقادیر ورودی چگونه باید خوانده شوند که سه شکل اصلی دارد:

1.    کارکتر فرمت که تعیین کننده این است که چه نوع اطلاعاتی باید خوانده شود و با % شروع میشوند.

2.    کاراکترهای فضای خالی که وجود فضای خالی در عبارت یکم موجب میشود که تابع Scanf از فضای خالی موجود در ابتدای اطلاعات ورودی صرفنظر نماید

3.    کاراکترهای غیر از فضای خالی و فرمت ، وجود چنین کاراکتری موجب میشود تا چنانچه همان کاراکتر در رشته ورودی وجود داشته باشد ، آن را خوانده واز آن صرفنظر نماید به عنوان مثال “d,%d%” موجب میشود تا یک عدد صحیح خوانده شود و سپس یک کاما خوانده شود و از آن صرفنظر شود و سپس عدد صحیح دیگری خوانده شود ، اگر کاراکترمشخص شده در عبارت یکم در رشته ورودی وجود نداشته باشد تابع scanf خاتمه می یابد، برای خواندن و سپس صرفنظر از علامت % باید %% را در عبارت یکم بکار ببریم.

وقتی دستور scanf اجرا میشود منتظر می ماند تا داده ها را از صفحه کلید دریافت نماید ، هنگام وارد کردن داده ها هر یک از اقلام داده را با یک فاصله یا کاما (,) از هم جدا کنید و پس از ورود داده ها Enter را فشار دهید.

کاراکترهای فرمت در تابع scanf

کاراکتر اطلاعاتی که خوانده میشود کاراکتر اطلاعاتی که خوانده میشود
%c یک کارکتر %o عدد مبنای 8
%d یک عددصحیح دهدهی %x عدد مبنای 16
%i یک عدد صحیح دهدهی %p یک اشاره­گر
%e عدد اعشاری ممیز شناور %f عدد اعشاری ممیز شناور
%g عدد اعشاری ممیز شناور %u عدد صحیح مثبت
%s رشته­ ها %n تعداد کارکترهایی که تا %n از ورودی خوانده شده

 

در آخر هر مقدار که با زبان C و الگوریتم نویسی آشنایی بیشتری داشته باشید کار برای شما در برنامه نویسی برای STM8 ساده تر خواهد بود پس فارغ از این جلسه اگر سطح آشنایی شما با این زبان پایین است حتما آموزش زبان C را مطالعه کنید.

شما ممکن است این را هم بپسندید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *