সুচিপত্র:
- ধাপ 1: সফ্টওয়্যার এবং হার্ডওয়্যারের প্রয়োজনীয়তা
- ধাপ 2: STM32CubeMX কনফিগারেশন
- ধাপ 3: কেইল সফটওয়্যার ডেভেলপমেন্ট
- ধাপ 4: পাইথন সফটওয়্যার ডেভেলপমেন্ট
- ধাপ 5: উপসংহার
ভিডিও: STM32F4 ডিসকভারি বোর্ড এবং পাইথন USART কমিউনিকেশন (STM32CubeMx): 5 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
ওহে! এই টিউটোরিয়ালে আমরা STM32F4 ARM MCU এবং Python এর মধ্যে USART যোগাযোগ স্থাপনের চেষ্টা করব (এটি অন্য কোন ভাষা দ্বারা প্রতিস্থাপিত হতে পারে)। চল শুরু করা যাক:)
ধাপ 1: সফ্টওয়্যার এবং হার্ডওয়্যারের প্রয়োজনীয়তা
হার্ডওয়্যারের ক্ষেত্রে আপনার প্রয়োজন:
- STM32F4 ডিসকভারি বোর্ড (অথবা অন্য কোন STM32 বোর্ড)
- ইউএসবি থেকে টিটিএল কনভার্টার
সফটওয়্যারের ক্ষেত্রে:
- STM32CubeMX
- Keil uVision5
- সিরিয়াল লাইব্রেরি সহ পাইথন ইনস্টল
ধাপ 2: STM32CubeMX কনফিগারেশন
প্রথমেই বুঝে নেওয়া যাক আমরা কি করতে চাই। আমরা ইউএসএআরটি এর মাধ্যমে পাইথন থেকে বোর্ডে ডেটা প্রেরণ করতে চাই এবং আমাদের কাছে সঠিক ডেটা আছে কিনা এবং টগল নেতৃত্বে আছে কিনা তা পরীক্ষা করতে চাই। সুতরাং, আমাদের USART এবং LED সক্ষম করতে হবে।
-
সংযোগ ট্যাব থেকে USART2 সক্ষম করুন।
- মোড অ্যাসিঙ্কোরোনাসে পরিবর্তন করুন
- বাউড রেট 9600 বিট/সেকেন্ড
- প্যারিটি ছাড়া 8 বিট শব্দের দৈর্ঘ্য
- প্যারিটি বিট নেই
- DMA সেটিংস থেকে USART2_RX cicular মোডে যোগ করুন
- NVIC সেটিংস থেকে USART2 গ্লোবাল ইন্টারাপ্ট সক্ষম করুন
- PD12 তে ক্লিক করে LED সক্ষম করুন
তারপর কোড জেনারেট করুন:)
ধাপ 3: কেইল সফটওয়্যার ডেভেলপমেন্ট
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
স্ট্রিং অপারেশনে এবং বুলিয়ান ভেরিয়েবল সংজ্ঞায়িত করতে এই লাইব্রেরির প্রয়োজন হবে।
/ *ব্যবহারকারীর কোড শুরু 2 */ HAL_UART_Receive_DMA (& huart2, (uint8_t *) data_buffer, 1); / * ব্যবহারকারীর কোড শেষ 2 */
এখানে, UART প্রাপ্তির সাথে DMA শুরু হয়েছে।
/ *ব্যবহারকারীর কোড শুরু * / * দ্রষ্টব্য: এই ফাংশনটি পরিবর্তন করা উচিত নয়, যখন কলব্যাকের প্রয়োজন হয়, HAL_UART_RxCpltCallback ব্যবহারকারী ফাইলে প্রয়োগ করা যেতে পারে */ যদি (data_buffer [0]! = '\ N') {data_full [index_] = data_buffer [0]; সূচক _ ++; } অন্য {index_ = 0; সমাপ্ত = 1; } // HAL_UART_Transmit (& huart2, data_buffer, 1, 10); } / * ব্যবহারকারীর কোড শেষ 4 * /
এটি ISR যা সক্রিয় হয় যখন আমরা একটি বাইটের চরিত্র পাই। তাই। আমরা সেই বাইটটি পাই এবং এটি data_full তে লিখি যাতে সম্পূর্ণ প্রাপ্ত ডেটা থাকে যতক্ষণ না আমরা '। n' পাই। যখন আমরা '\ n' পাই তখন আমরা সমাপ্ত পতাকা 1 এবং যখন লুপ তৈরি করি:
যখন (1) { / * ব্যবহারকারীর কোড শেষ হয় * / যদি (সমাপ্ত) {যদি (strcmp (data_full, cmp_) == 0) {HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_12); } মেমসেট (data_full, '\ 0', strlen (data_full)); সমাপ্ত = 0; } অন্য {_NOP (); } / * ব্যবহারকারী কোড শুরু 3 * /}
যদি সমাপ্ত পতাকাটি উচ্চ হয় তবে আমরা আমাদের প্রাপ্ত সম্পূর্ণ তথ্য এবং ডেটার বিষয়বস্তুর তুলনা করি এবং যদি তারা সমান হয় তবে আমরা নেতৃত্বে টগল করি। তারপরে আমরা সমাপ্ত পতাকাটি সাফ করি এবং নতুন ডেটার জন্য অপেক্ষা করি এবং অ্যারেতে ওভাররাইট না করার জন্য data_full অ্যারে সাফ করি।
ধাপ 4: পাইথন সফটওয়্যার ডেভেলপমেন্ট
সুতরাং, এখানে আমরা শেষ পর্যন্ত '/n' দিয়ে আমাদের নম্বর পাঠাতে চাই, কারণ কেইল সফটওয়্যারটি শেষ দেখতে হলে এটি দেখতে হবে।
সিরিয়াল আমদানি করুন
ser = serial. Serial ('COM17') #ডিভাইস ম্যানেজার থেকে আপনার ডিভাইসে সেই পোর্টটি পরীক্ষা করুন
ser.write (b'24 / n ')
প্রতিবার আপনি '24 / n 'পাঠানোর সময় LED টগলগুলি দেখতে হবে। আপনি যদি অন্য কিছু পাঠান তবে এটি প্রভাবিত করা উচিত নয়।
ধাপ 5: উপসংহার
আমরা টিউটোরিয়ালের শেষে এসেছি। যদি আপনার কোন সমস্যা বা প্রশ্ন থাকে তবে দয়া করে জিজ্ঞাসা করতে দ্বিধা করবেন না। আমি যতটুকু পারি সাহায্য করার চেষ্টা করবো। আপনাকে অনেক ধন্যবাদ:)
প্রস্তাবিত:
মুখ সনাক্তকরণ এবং সনাক্তকরণ - OpenCV পাইথন এবং Arduino ব্যবহার করে Arduino ফেস আইডি: 6 ধাপ
মুখ সনাক্তকরণ এবং সনাক্তকরণ | ওপেনসিভি পাইথন এবং আরডুইনো ব্যবহার করে আরডুইনো ফেস আইডি: মুখের স্বীকৃতি AKA ফেস আইডি আজকাল মোবাইল ফোনের অন্যতম গুরুত্বপূর্ণ বৈশিষ্ট্য। সুতরাং, আমার একটি প্রশ্ন ছিল " আমি কি আমার আরডুইনো প্রকল্পের জন্য একটি ফেস আইডি রাখতে পারি " এবং উত্তর হল হ্যাঁ … আমার যাত্রা নিম্নরূপ শুরু হয়েছিল: ধাপ 1: আমাদের প্রবেশাধিকার
STM32F407 ডিসকভারি কিট এবং GSM A6 মডিউল ব্যবহার করে বেসিক মোবাইল ফোন: 14 টি ধাপ (ছবি সহ)
STM32F407 ডিসকভারি কিট এবং GSM A6 মডিউল ব্যবহার করে বেসিক মোবাইল ফোন: আপনি কি কখনও একটি শীতল এমবেডেড প্রজেক্ট তৈরি করতে চেয়েছিলেন? যদি হ্যাঁ, তাহলে সবচেয়ে জনপ্রিয় এবং সবার প্রিয় গ্যাজেট যেমন মোবাইল ফোন !!! এই নির্দেশাবলীতে, আমি আপনাকে STM ব্যবহার করে একটি মৌলিক মোবাইল ফোন কিভাবে তৈরি করতে হয় তা নির্দেশনা দেব
ESP8266 এবং পাইথন কমিউনিকেশন Noobs: 6 ধাপ
ESP8266 এবং পাইথন কমিউনিকেশন জন্য "চিপে, যা হল: অপ্রয়োজনীয় বর্জ্য
পাইথন-জিইউআই এবং আরডুইনো সহ সার্ভোড্রাইভার-বোর্ড: 5 টি ধাপ
পাইথন-জিইউআই এবং আরডুইনো সহ সার্ভোড্রাইভার-বোর্ড: প্রোটোটাইপিং বা মডেল এয়ারপ্লেন তৈরির সময়, আপনি প্রায়শই সমস্যার সম্মুখীন হন, যে আপনাকে সার্ভো ট্রাভেল চেক করতে হবে অথবা মাঝের অবস্থানে সার্ভোস সেট করতে হবে। যদি আপনি তৈরি করতে চান না আপনার পুরো আরসি-সিস্টেম বা পরীক্ষা, আপনি কতদূর এগিয়ে যেতে পারেন
একটি এনালগ ডিসকভারি 2 এবং ল্যাবভিউ ব্যবহার করে DIY ইসিজি: 8 টি ধাপ
একটি এনালগ ডিসকভারি 2 এবং ল্যাবভিউ ব্যবহার করে DIY ইসিজি: এই নির্দেশনায়, আমি আপনাকে দেখাব কিভাবে ঘরে তৈরি ইলেক্ট্রোকার্ডিওগ্রাফ (ইসিজি) তৈরি করতে হয়। এই যন্ত্রটির লক্ষ্য হল হৃদপিণ্ডের দ্বারা সৃষ্ট প্রাকৃতিক বৈদ্যুতিক সম্ভাবনাকে প্রশস্ত করা, পরিমাপ করা এবং রেকর্ড করা। একটি ইসিজি সম্পর্কে প্রচুর তথ্য প্রকাশ করতে পারে