ارتباط سریال در رزبری پای با زبان C
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <wiringPi.h>
#include <wiringSerial.h>
int main ()
{
int serial_port ;
char dat;
if ((serial_port = serialOpen ("/dev/ttyS0", 9600)) < 0) /* open serial port */
{
fprintf (stderr, "Unable to open serial device: %s\n", strerror (errno)) ;
return 1 ;
}
if (wiringPiSetup () == -1) /* initializes wiringPi setup */
{
fprintf (stdout, "Unable to start wiringPi: %s\n", strerror (errno)) ;
return 1 ;
}
while(1){
if(serialDataAvail (serial_port) )
{
dat = serialGetchar (serial_port);
/* receive character serially*/
printf ("%c", dat) ;
fflush (stdout) ;
serialPutchar(serial_port, dat);
/* transmit character serially on port */
}
}
}
🆔 @c_micro
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <wiringPi.h>
#include <wiringSerial.h>
int main ()
{
int serial_port ;
char dat;
if ((serial_port = serialOpen ("/dev/ttyS0", 9600)) < 0) /* open serial port */
{
fprintf (stderr, "Unable to open serial device: %s\n", strerror (errno)) ;
return 1 ;
}
if (wiringPiSetup () == -1) /* initializes wiringPi setup */
{
fprintf (stdout, "Unable to start wiringPi: %s\n", strerror (errno)) ;
return 1 ;
}
while(1){
if(serialDataAvail (serial_port) )
{
dat = serialGetchar (serial_port);
/* receive character serially*/
printf ("%c", dat) ;
fflush (stdout) ;
serialPutchar(serial_port, dat);
/* transmit character serially on port */
}
}
}
🆔 @c_micro
Forwarded from Raspberry Project
فانکشن بافر FIFO جهت استفادهدرر میکروهای Stm32 و توابع Hal
/***Interupt Recived Uart Fifo Buffer Stm32 Hal***/
void HAL_UART_RxCpltCallback (UART_HandleTypeDef *huart){
cnt++;
uint8_t i;
if(huart->Instance == USART1);
{
if(Rx_indx==0){for(i=0;i<150;i++)Rx_Buffer[i]=0;}
if(UART_Buffer[0]==36)
{
Rx_indx=0;
}
else if(UART_Buffer[0]!=UART_BUFFER_SIZE)
{
Rx_Buffer[Rx_indx++]=UART_Buffer[0];
}
else
{
Rx_indx=0;
Transfer_cplt=1;
}
HAL_UART_Receive_IT(&huart1,UART_Buffer,UART_BUFFER_SIZE);
}
}
@Rasppberryproject
/***Interupt Recived Uart Fifo Buffer Stm32 Hal***/
void HAL_UART_RxCpltCallback (UART_HandleTypeDef *huart){
cnt++;
uint8_t i;
if(huart->Instance == USART1);
{
if(Rx_indx==0){for(i=0;i<150;i++)Rx_Buffer[i]=0;}
if(UART_Buffer[0]==36)
{
Rx_indx=0;
}
else if(UART_Buffer[0]!=UART_BUFFER_SIZE)
{
Rx_Buffer[Rx_indx++]=UART_Buffer[0];
}
else
{
Rx_indx=0;
Transfer_cplt=1;
}
HAL_UART_Receive_IT(&huart1,UART_Buffer,UART_BUFFER_SIZE);
}
}
@Rasppberryproject
Forwarded from 🐍 Python & Raspberry 🐍 (F.Naserizadeh)
طراحی سیستم های امبدد و اینترنت اشیا توسط ARM 👇
🌟 انتشارات وایلی 2018
🔰 @raspberry_python
🔰 @RaspberryProject
🌟 انتشارات وایلی 2018
🔰 @raspberry_python
🔰 @RaspberryProject
Forwarded from 🐍 Python & Raspberry 🐍 (F.Naserizadeh)
Xiao,_Perry_Designing_embedded_systems.pdf
24.6 MB
طراحی سیستم های امبدد و اینترنت اشیا توسط ARM
🌟 انتشارات وایلی 2018
🔰 @raspberry_python
🔰 @RaspberryProject
🌟 انتشارات وایلی 2018
🔰 @raspberry_python
🔰 @RaspberryProject
👍1
Forwarded from C & micro & fpga
Jozve 0 ta 100 C_@Electrovolt_ir.pdf
1.4 MB
Forwarded from KnowledgePlus.ir
اگر برای تفسیر عبارت های پیچیده در زبان C دچار مشکل هستید، مطالب موجود در دو لینک زیر را مطالعه کنید:
codeproject.com/Articles/7042/How-to-interpret-complex-C-C-declarations
geeksforgeeks.org/complicated-declarations-in-c
@KnowledgePlus
codeproject.com/Articles/7042/How-to-interpret-complex-C-C-declarations
geeksforgeeks.org/complicated-declarations-in-c
@KnowledgePlus
Forwarded from Sisoog مرجع متن باز الکترونیک-سیسوگ
📌آموزش میکروکنترلر STM8: چگونه برنامه خود را روی STM8 آپلود کنیم؟
👈#سیسوگ #سیسوگی_ها #STM #STM8 #پروگرامر #upload #STVP #STVD #ST_Link #بارگذاری_برنامه #آپلود_برنامه #Cosmin_C
😃 سلام دوستان،
🔙 سیسوگ در مقاله پنجم شما را با نرم افزارهای مورد نیاز برای میکروکنترلر STM8 آشنا کرد.
⚡️ در این مقاله نحوه پروگرام کردن میکروکنترلر STM8 را با هم آموزش می بینیم. پس با سیسوگ همراه باشید.
✌🏻 بارگذاری برنامه روی میکروکنترلر STM8 را می توانیم به دو روش با استفاده از نرم افزار STVP و یا با استفاده از نرم افزار STVD انجام دهیم.
✅ نرم افزار STVP
در ابتدا بارگذاری به وسیله STVP را توضیح می دهیم. نرم افزار STVP را دانلود و نصب نمایید. نرم افزار را اجرا نمایید. در اولین پنجره پروگرامر ST-Link، رابط SWIM و تراشه مورد نظر را انتخاب نمایید و ...
✅ نرم افزار STVD
پس از کامپایل و ساخت پروژه بدون هیچ گونه خطایی، کامپایلر فایل خروجی S19 را در پوشه Debug یا Release بسته به اینکه کدام کامپایل انتخاب شده است، تولید می کند. به طور پیش فرض، حالت Debug انتخاب می شود مگر اینکه کاربر شخصاً آن را تغییر دهد، بنابراین فایل S19 مورد نظر ما در این پوشه قرار دارد. در ابتدا ما باید رابط پروگرامر را باز کنیم و ...
ادامه مطلب
📣 عضویت در کانال تلگرام سیسوگ
👈#سیسوگ #سیسوگی_ها #STM #STM8 #پروگرامر #upload #STVP #STVD #ST_Link #بارگذاری_برنامه #آپلود_برنامه #Cosmin_C
😃 سلام دوستان،
🔙 سیسوگ در مقاله پنجم شما را با نرم افزارهای مورد نیاز برای میکروکنترلر STM8 آشنا کرد.
⚡️ در این مقاله نحوه پروگرام کردن میکروکنترلر STM8 را با هم آموزش می بینیم. پس با سیسوگ همراه باشید.
✌🏻 بارگذاری برنامه روی میکروکنترلر STM8 را می توانیم به دو روش با استفاده از نرم افزار STVP و یا با استفاده از نرم افزار STVD انجام دهیم.
✅ نرم افزار STVP
در ابتدا بارگذاری به وسیله STVP را توضیح می دهیم. نرم افزار STVP را دانلود و نصب نمایید. نرم افزار را اجرا نمایید. در اولین پنجره پروگرامر ST-Link، رابط SWIM و تراشه مورد نظر را انتخاب نمایید و ...
✅ نرم افزار STVD
پس از کامپایل و ساخت پروژه بدون هیچ گونه خطایی، کامپایلر فایل خروجی S19 را در پوشه Debug یا Release بسته به اینکه کدام کامپایل انتخاب شده است، تولید می کند. به طور پیش فرض، حالت Debug انتخاب می شود مگر اینکه کاربر شخصاً آن را تغییر دهد، بنابراین فایل S19 مورد نظر ما در این پوشه قرار دارد. در ابتدا ما باید رابط پروگرامر را باز کنیم و ...
ادامه مطلب
📣 عضویت در کانال تلگرام سیسوگ
آموزش وقفه خارجی در stm32f0 با cubemx
https://letanphuc.net/2015/03/stm32f0-tutorial-3-external-interrupts/
🔰 @c_micro
https://letanphuc.net/2015/03/stm32f0-tutorial-3-external-interrupts/
🔰 @c_micro
LTP's archive
STM32F0 Tutorial 3: External Interrupts
In the last post, we figured out how to make the LED blink and learn some GPIO functions including writing, toggling, and reading. In this STM32F0 tutorial, we will learn how to configure and use GPIOs as an external interrupt signal to trigger an LED without…