সি থেকে জিপিআইও পিনগুলি নিয়ন্ত্রণ করুন


10

লাইব্রেরি অধিকাংশ একাধিক ভাষায়, GPIO পিনের মাধ্যমে সাথে ইন্টারঅ্যাক্ট /sys/class/gpio/export, /sys/class/gpio/import, /sys/class/gpio/gpio10/value, ইত্যাদি তবে Linux kernel ডক্স পরিষ্কারভাবে রাষ্ট্র যে জিনিসগুলি উত্তরাধিকার উপায়।

জিনিসগুলি করার অ-উত্তরাধিকার পদ্ধতি কী ?

কার্নেল স্পেসে আমি সঠিকভাবে বুঝতে পারলে সাধারণ জিপিআইও কাজের জন্য এই ফাংশনগুলি বা স্ট্যান্ডার্ড কার্নেল ড্রাইভারগুলি ব্যবহার করব would

আমি ব্যবহারকারীর স্থানের জন্য কী ব্যবহার করব? অ-উত্তরাধিকারের জন্য কি কোনও সিএসফএস ইন্টারফেস আছে?

পিএস: আমি কার্নেল ডক্সকে অবগত করছি যে উত্তরাধিকার পূর্ণসংখ্যার উপর ভিত্তি করে ইন্টারফেসটি অবহিত হিসাবে বিবেচিত হলেও এখনও সামঞ্জস্যতার কারণে ব্যবহারযোগ্য। তবে আমি সেই উত্তরাধিকার কোডটি ব্যবহার করতে আগ্রহী নই।


1
বেশিরভাগ গ্রন্থাগারগুলি /sys/class/gpio/exportসরাসরি হার্ডওয়্যার অ্যাক্সেসের মাধ্যমে জিপিআইও পিনের সাথে যোগাযোগ করে না যদিও তারা কার্নেল পরিষেবা ব্যবহার করতে পারে। অবশ্যই ওয়্যারিংপি এবং আফাইক পিগপায়ড সরাসরি এসসি রেজিস্টারগুলিতে অ্যাক্সেস করে।
মিলিওয়েজ

উত্তর:


12

sysfsঅবচিত করা হয়েছে এবং প্রতিস্থাপন করা হয়েছে libgpiod

https://www.beyondlogic.org/an-introduction-to-chardev-gpio-and-libgpiod-on-the-raspberry-pi/

মিথস্ক্রিয়া /dev/gpiochipxবরং হয় /sys/class/gpio

একমাত্র সুস্পষ্ট উন্নতি (আমার কাছে) হ'ল জিপিআইও ইভেন্টগুলির একটি টাইম স্ট্যাম্প রয়েছে।


0

এর জন্য আমি এখন পর্যন্ত সর্বাধিক সহায়ক নির্দেশিকাটি লিনাস ওয়ালিজের একটি আলাপের একটি 2016 ইউটিউব ভিডিও। লিনাক্স কার্নেলের জিপিআইও সাবসিস্টেমের রক্ষণাবেক্ষণকারী তিনি ছিলেন।

https://www.youtube.com/watch?v=lQRCDl0tFiQ

আলাপটি কার্নেল স্পেসে আরও শুরু হয় এবং তারপরে libgpiod লাইব্রেরির সাহায্যে ব্যবহারকারী স্পেসে চলে যায়।

আমার Pi3B চলমান বাস্টার, এটা apt-get gpiod ইনস্টল করুন, তারপর সহজ ছিল #include <linux/gpio.h>হেডারের মধ্যে, () কমান্ড খোলা () ও ioctl জন্য কার্নেল লাইব্রেরি সহ: <sys/stat.h>, <sys/types.h>, <fcntl.h>, <sys/ioctl.h>এবং <string.h>সক্রিয় করতে strcpy ()। এটি আমাকে আলাপের উদাহরণগুলি চালনার অনুমতি দেয়।

আমি আগ্রহী যদি এই এখনও পছন্দসই পদ্ধতির এবং কোনও আপডেট বা উন্নতি হয়।


তো, এপিআই কি? এটি ব্যবহার করে ইনস্টল করা হয় apt-get install gpiod? ভিতরে ফাংশন প্রোটোটাইপ আছে <linux/gpio.h>? এর সাথে লিঙ্ক করার জন্য কি কোনও লাইব্রেরি ফাইল রয়েছে?
দিমিত্রি গ্রিগরিয়েভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.