单片机开发
jiangmaple
这个作者很懒,什么都没留下…
展开
-
Proteus与Keil联调方法
今天忙了一上午,终于把Proteus与Keil联调搞定了,在网上找了很多Proteus与Keil联调方法,最后发现下面的方法又清晰又简单。1.安装Proteus.2.安装Keil.3.运行“vdmagdi.exe” ,安装完毕;(网上可以下载到)4.运行"ISIS 7 Professional"菜单"Debug(调试)",选中"Use Remote Debug Monitor(使用远程调试监控)";(好多人写的方法漏了这一步,我就是犯的这个错。如果漏了此步,Keil会出现"Failed to connect原创 2010-12-03 20:59:00 · 9707 阅读 · 5 评论 -
STM32F103 CubeMX I2C
最近在做一个项目,由于实时性要求高所以想把串口通讯、I2C、SIP都通过DMA来完成。先用CubeMx配置后生成工程,然后做串口DMA收发测试程序一切顺利,接下来搞了一天I2C,总是在不成功,逻辑分析仪上SDA、SCL只看到有一个脉冲,断点调试发现死锁在while(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);几乎放弃。后来...原创 2018-06-06 09:50:12 · 4462 阅读 · 0 评论 -
STM32的串口空闲中断接收不定长数据
最近想尝试STM32 通过DMA收发数据,网上找了不少参考文章,最后参考https://blog.csdn.net/youmeichifan/article/details/51750435?utm_source=dlogxgwz2 博文中的方法。按照此文的方法实现了串口的收发,但是实际使用中发现:接收空闲中断的产生是在数据接收停止一个字节时产生的,但是有时由于上位机编写问题或硬件问题(本...原创 2018-10-25 11:10:34 · 6855 阅读 · 3 评论 -
常用的数据类型转换
最近做stm32项目用到一些数据的转换,现贴出来,大家一起讨论:void float2str(float val, unsigned char Decimal, char *buf){ char fmt[]="%.3f"; fmt[2]=Decimal+0x30; sprintf(buf, fmt, val);}void IntToStr(int dat,char *buf)...原创 2018-10-25 11:44:17 · 1850 阅读 · 0 评论 -
单片机float转字符串
/*val:输入的浮点值Decimal:小数保留位数 *buf:输出字符串的指针*/void float2str(float val, uint8_t Decimal, char *buf){ char fmt[]="%.3f"; fmt[2]=Decimal+0x30; sprintf(buf, fmt, val); return buf;} ...原创 2018-10-23 15:19:05 · 4461 阅读 · 0 评论 -
STM32 FreeRTOS 第二个实验例子:串口转发(单字节转发)
第二个实验例子:串口转发(单字节转发)目的:通过队列实现Usart1接收数据,由Usart2转发出去Step1:串口声明串口接收缓存,并添加串口回调函数usart.h : /* USER CODE BEGIN Private defines */ #define UART_BUF_SIZE 1 //缓冲长度为 1 extern uint...原创 2019-04-09 11:26:10 · 5230 阅读 · 0 评论