-
printf命令报错采
用AT32_Work_Bench创建工程项目,设置了usart1,在程序中printf命令编译通不过?是否还需要之间什么辅助命令或宏代码? 谢谢
492浏览量 4回复量 关注量 -
新唐M4串口调用printf卡死
初次接触新唐M4单片机,使用串口时,串口 0初始化配置没问题,调用库函数uart_write()发送数据正常,但是改用printf就会卡死,工程添加了retarget.c,keil也勾选了微库。请前辈指教
2419浏览量 3回复量 关注量 -
MM32通过DMA传输到蓝牙,再传输到手机的数据丢失的问题
请问我想用MM32向蓝牙模块HC05传输数据,然后用手机接受,但是传输的数据丢包,并且只传输第一位数据(类似HCO5:1111111111),用的DMA传输到蓝牙, t = KEY_Scan(0); //get key value if( t == KEY3_PRES ) { sprintf((char*)sendbuf,"12345678 %d\r\n",sendcnt); printf("%s",sendbuf);//显示发送数据 u2_printf("2346789abcdefgh %d\r\n",sendcnt); //发送到蓝牙模块 sendcnt++; if(sendcnt>99)sendcnt=0; t=0; LED2_ON(); DELAY_Ms(100); LED2_OFF(); } (主循环里的), void u2_printf(char* fmt,...) { va_list ap; va_start(ap,fmt); vsprintf((char*)USART3_TX_BUF,fmt,ap); va_end(ap); while(DMA_GetCurrDataCounter(DMA1_Channel2)!=0); //等待通道2传输完成 UART_DMA_Enable(DMA1_Channel2,strlen((const char*)USART3_TX_BUF)); //通过dma发送出去 } 这是传输函数
6995浏览量 2回复量 关注量 -
STM32串口通信控制电机
我想用串口通信来控制无刷电机,串口代码借用正点原子,目前串口可以接收到发送的指令,但是不能控制电机,希望有前辈帮我解答一下,附上主函数代码int main(void) { u8 t; //typedef unsigned char uint8_t; u8 len; u16 times=0; //typedef unsigned short uint16_t; volatile unsigned char HALL_flag; LED_Init(); delay_init(); uart2_init(9600); //串口初始化为9600 PWM_GPIO_Init(); HALL_GPIO_Init(); LED1=1; while(1) { if(USART_RX_STA&0x8000) { len=USART_RX_STA&0x3fff; printf("\r\n您发送的消息为:\r\n"); for(t=0;t
DR=USART_RX_BUF[t]; while((USART2->SR&0X40)==0); } printf("\r\n\r\n");//插入换行 USART_RX_STA=0; if(strcmp((char*)USART_RX_BUF,"电机1正转")==0) { HALL_flag =1; BLDC_CW(); printf("\r\n行走电机正转\r\n"); } if(strcmp((char*)USART_RX_BUF,"电机1停止")==0) { HALL_flag =0; BLDC_STOP(); printf("\r\n行走电机停止\r\n"); } }else { times++; if(times%5000==0) { printf("\r\nALIENTEK MiniSTM32开发板 串口实验\r\n"); printf("正点原子@ALIENTEK\r\n\r\n\r\n"); } if(times%200==0)printf("请输入数据,以回车键结束\r\n"); if(times%30==0)LED1=!LED1;//闪烁LED,提示系统正在运行. delay_ms(10); } } } 4553浏览量 9回复量 关注量