• 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
返回

电子发烧友 电子发烧友

  • 全文搜索
    • 全文搜索
    • 标题搜索
  • 全部时间
    • 全部时间
    • 1小时内
    • 1天内
    • 1周内
    • 1个月内
  • 默认排序
    • 默认排序
    • 按时间排序
大家还在搜
  • stm32串口接收数据程序

      stm32串口接收数据程序        void init_usart(void) //RCC初始化 RCC_APB2PeriphClockCmd(RCC_APB

    2021-07-22 17:11

  • 串口如何接收数据 STM32串口接收数据

    如果采用查询接收方式接受串口数据,就会造成接收不及时,还没接收数据,下

    2023-07-21 17:07

  • STM32串口接收数据的步骤教程是怎样的

    STM32串口接收数据的步骤教程是怎样的

    2021-12-13 07:31

  • 如何解决STM32串口接收数据卡死的问题?

    如何解决STM32串口接收数据卡死的问题?

    2021-12-09 06:25

  • 如何保证STM32串口接收数据的完整性?

    如何保证STM32串口接收数据的完整性?

    2021-12-09 08:00

  • STM32串口接收数据出现漏接的原因?怎么解决?

    STM32串口接收数据出现漏接的原因?怎么解决?

    2021-12-09 06:01

  • stm32串口接收数据的几个方式

    stm32串口接收数据的几个方式本例程通过PC机的串口调试助手将数据发送

    2022-01-26 06:56

  • 求助STM32串口接收数据

    [table=98%][tr][td]int main(void){ uint8_t i; uint8_t buzzer[20]={0xAA,0xA0,0xFF,0xF8,0x8F,0x88,0xFF}; SysTick_Config(SystemCoreClock/1000); USART_Config(); while(1){ if(RXOVER == 1){USART_SendString3(buzzer);USART_SendString1(USART_RXBUF);for(i=0;i

    2015-06-23 11:49

  • STM32串口接收数据并使用

    #include "led.h"#include "delay.h"#include "key.h"#include "sys.h"#include "usart.h"#include "mpu6050.h"#include "inv_mpu.h"#include "inv_mpu_dmp_motion_driver.h" #include "Motorinit.h"#include "usart_170.h"#include "pid.h"#include "timer.h"#include "motor_pid.h"#include "math.h"#include "control.h"#include "adc.h"#include "relay.h"/**********************************************************************Design dy: GDOU-Lin桑2017-9-2**********************************************************************///ËÙ¶È£¬·½Ïò£¬¿ª¹ØÊý¾Ýu8 rate,derection,key,redata;;int flag=1;float pitch,roll,yaw; //Å·À­½Ç int t=1;short aacx,aacy,aacz;//¼ÓËÙ¶È´«¸ÐÆ÷ԭʼÊý¾Ýshort gyrox,gyroy,gyroz;//ÍÓÂÝÒÇԭʼÊý¾Ýu16 adc1,adc2;float data1,data2; int main(void) { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //ÉèÖÃNVICÖжϷÖ×é2:2λÇÀÕ¼ÓÅÏȼ¶£¬2λÏìÓ¦ÓÅÏȼ¶uart_init(115200);Usart_170_Init(9600); delay_init();//ÑÓʱ³õʼ»¯ LED_Init();//³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿ÚMPU_Init();//³õʼ»¯MPU6050Adc_Init(); //ADC³õʼ»¯ TIM3_PWM_Init(19999,71);//ʹÓõçµ÷½øÐпØÖÆÊ±µÄ·ÖƵ TIM2_PWM_Init(199,7199);//ʹÓÃË®±ÃÊǵÄPWM¿ØÖÆTIM4_Int_Init(5000-1,71); //ʹÓÃÖжϱ£³ÖƽºâMotor_init();//µç»úµçµ÷³õʼ»¯//while(mpu_dmp_init())//; while(1){//printf("Start£¡");//´®¿Ú½ÓÊÕÖ¸ÁîÒÔ¼°Êý¾ÝµÄ´«Êä //Ïà¹ØADCÊýÖµµÄ»ñÈ¡data_get();//printf("%d",redata);printf("%d%d%d\n",rate,derection,key);//ratecontrol(rate); //ËÙ¶È¿ØÖÆ //keycontrol(key);//¿ª¹Ø¿ØÖÆ// derectioncontrol(derection);//·½Ïò¿ØÖÆ } }#include "usart_170.h"#include "usart.h"#include "led.h"/*************************************** @brief³õʼ»¯´®¿Ú2* @parambaudrate£º²¨ÌØÂÊ* @retval None*************************************/extern u8 rate,derection,key;extern u8 redata;extern u16 adc1,adc2;extern float data1,data2; //ËÙ¶È£¬·½Ïò£¬¿ª¹ØÊý¾Ý#if EN_USART2_RX//Èç¹ûʹÄÜÁ˽ÓÊÕ//´®¿Ú1ÖжϷþÎñ³ÌÐò//×¢Òâ,¶ÁÈ¡USARTx->SRÄܱÜÃâĪÃûÆäÃîµÄ´íÎóu8 USART_RX_BUF[USART2_REC_LEN];//½ÓÊÕ»º³å,×î´óUSART_REC_LEN¸ö×Ö½Ú.//½ÓÊÕ״̬//bit15£¬½ÓÊÕÍê³É±êÖ¾//bit14£¬½ÓÊÕµ½0x0d//bit13~0£¬½ÓÊÕµ½µÄÓÐЧ×Ö½ÚÊýÄ¿u16 USART_RX_STA=0; //½ÓÊÕ״̬±ê¼Ç void Usart_170_Init(u32 baudrate){GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);//ʹÄÜUSART1£¬GPIOAʱÖÓRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//USART1_TXGPIOA.9GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //PA.9GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//¸´ÓÃÍÆÍìÊä³öGPIO_Init(GPIOA, &GPIO_InitStructure);//³õʼ»¯GPIOA.9//USART1_RXGPIOA.10³õʼ»¯GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;//PA10GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//¸¡¿ÕÊäÈëGPIO_Init(GPIOA, &GPIO_InitStructure);//³õʼ»¯GPIOA.10//Usart1 NVIC ÅäÖÃNVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;//ÇÀÕ¼ÓÅÏȼ¶3NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;//×ÓÓÅÏȼ¶3NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//IRQͨµÀʹÄÜNVIC_Init(&NVIC_InitStructure);//¸ù¾ÝÖ¸¶¨µÄ²ÎÊý³õʼ»¯VIC¼Ä´æÆ÷//USART ³õʼ»¯ÉèÖÃUSART_InitStructure.USART_BaudRate = baudrate;//´®¿Ú²¨ÌØÂÊUSART_InitStructure.USART_WordLength = USART_WordLength_8b;//×Ö³¤Îª8λÊý¾Ý¸ñʽUSART_InitStructure.USART_StopBits = USART_StopBits_1;//Ò»¸öֹͣλUSART_InitStructure.USART_Parity = USART_Parity_No;//ÎÞÆæÅ¼Ð£ÑéλUSART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//ÎÞÓ²¼þÊý¾ÝÁ÷¿ØÖÆUSART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//ÊÕ·¢Ä£Ê½USART_Init(USART2, &USART_InitStructure); //³õʼ»¯´®¿Ú1USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//¿ªÆô´®¿Ú½ÓÊÜÖжÏ//USART_ITConfig(USART1, USART_IT_IDLE, ENABLE);//¿ªÆô´®¿Ú½ÓÊÜÖжÏUSART_Cmd(USART2, ENABLE);}void usart_170_send_char(u8 c){while (USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET); //Ñ­»··¢ËÍ,Ö±µ½·¢ËÍÍê±ÏUSART_SendData(USART2, c);}//Êý¾Ý½ÓÊÕ²¢´¦Àíu8 com_data;u8 len;char Reveive_Buff[6];int i=0;void USART2_IRQHandler(void) //´®¿Ú1ÖжϷþÎñ³ÌÐò{#if SYSTEM_SUPPORT_OS //Èç¹ûSYSTEM_SUPPORT_OSÎªÕæ£¬ÔòÐèÒªÖ§³ÖOS.OSIntEnter(); #endif//if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)//½ÓÊÕÖжÏ(½ÓÊÕµ½µÄÊý¾Ý±ØÐëÊÇ0x0d 0x0a½áβ)//{//// USART_ReceiveData(USART2);// redata=USART2->DR; //¶Á³öÊý¾Ý////redata=USART_ReceiveData(USART2);//////¶ÁÈ¡½ÓÊÕµ½µÄÊý¾Ý//////}//////while(!(USART2->SR & (12;//key=(redata&0x03);////// LED1=!LED1;if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)//½ÓÊÕÖжÏ(½ÓÊÕµ½µÄÊý¾Ý±ØÐëÊÇ0x0d 0x0a½áβ){USART_ReceiveData(USART2);//¶ÁÈ¡½ÓÊÕµ½µÄÊý¾ÝReveive_Buff = USART2->DR;i=i+1;}if (i == 6){USART1->DR = 0;USART1->SR = 0;i=0;rate=Reveive_Buff[2];key=Reveive_Buff[3];derection=3;LED0=!LED0;}#if SYSTEM_SUPPORT_OS //Èç¹ûSYSTEM_SUPPORT_OSÎªÕæ£¬ÔòÐèÒªÖ§³ÖOS.OSIntExit();#endif} #endif实用!!!

    2017-09-03 18:42

  • stm32串口接收数据有哪几种方式?

    stm32串口接收数据有哪几种方式?

    2021-12-06 06:45