新手入门
- 积分
- 5
- 金钱
- 5
- 注册时间
- 2017-7-24
- 在线时间
- 1 小时
|
1金钱
大家好,小弟刚接触STM32不久,有探索者一块以及配套的蓝牙模块,想实现单片机与单片机之间,单片机与手机之间的交互。也就是蓝牙可以将单片机SD卡中的字符串,数组,文档、图片,音频、视频这些文件进行传输。
我根据开发板带的历程,已经将蓝牙与SD卡FATFS系统管理移植到一块。但是按照程序,只能实现简单的字符串的发送和接收。
sprintf((char*)sendbuf,"ALIENTEK HC05 %d\r\n",sendcnt); LCD_ShowString(30+40,160,200,16,16,sendbuf); //LED屏幕显示
u3_printf("ALIENTEK HC05 %d\r\n",sendcnt); //蓝牙传输
其中u3_printf函数如下:
void u3_printf(char* fmt,...)
{
u16 i,j;
va_list ap;
va_start(ap,fmt);
vsprintf((char*)USART3_TX_BUF,fmt,ap);
va_end(ap);
i=strlen((const char*)USART3_TX_BUF);//判断长度
for(j=0;j<i;j++)//
{
while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); // 等待上次传输完成
USART_SendData(USART3,(uint8_t)USART3_TX_BUF[j]); //发送数据到串口
}
函数不再深入,照这样貌似只是实现字符串的传输。
另外,对于以下函数 res=f_open (&fil,"0:/message.txt", FA_CREATE_ALWAYS|FA_WRITE);
f_write (&fil, "alientek test", 50, &bww);
f_close(&fil);
res=f_open (&fil,"0:/message.txt", FA_READ);
在函数中定义初始化一个数组,然后在主函数中调用,写到文件中,利用USMART进行查看,文件创建了,但是读出来的数据是乱码,
不确定是否写入,还是数据格式出现问题。
很可能是对以上几个函数还没有深入的了解,以至于在程序编写的过程中出现错误,还请多多指点。
各位有经验的朋友们,可否推荐HC-05传输图片、音频、视频相关的例子,链接,可以学习借鉴的
还请留下宝贵的意见,谢谢!
|
|