1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
VisualScope 使用说明(基于stm32)
VisualScope 可以通过参数显示对话框,方便调节pid。 1. 添加文件(Visual_Scope.h/.c) //.h #ifndef __VISUAL_SCOPE__ #define __VISUAL_SCOPE__ #include “usart.h” unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT); void display(float ch1, float ch2, float ch3, float ch4); #endif 1 2 3 4 5 6 7 8 9 10 11 //.c #include “Visual_Scope.h” void VisualScope_Output(float data1 ,float data2 ,float data3 ,float data4) { int temp[4] = {0}; unsigned int temp1[4] = {0}; unsigned char databuf[10] = {0}; int i; unsigned short CRC16 = 0; temp[0] = (int)data1; temp[1] = (int)data2; temp[2] = (int)data3; temp[3] = (int)data4; temp1[0] = (unsigned int)temp[0]; temp1[1] = (unsigned int)temp[1]; temp1[2] = (unsigned int)temp[2]; temp1[3] = (unsigned int)temp[3]; for(i=0;i《4;i++) { databuf[i*2] = (unsigned char)(temp1[i]%256); databuf[i*2+1] = (unsigned char)(temp1[i]/256); } CRC16 = CRC_CHECK(databuf, 8); databuf[8] = CRC16%256; databuf[9] = CRC16/256; for(i=0; i《10; i++) { while((huart1.Instance-》SR & 0x40)==0); HAL_UART_Transmit(&huart1, &databuf[i], 1, 0xffff); } } void display(float ch1, float ch2, float ch3, float ch4) { float OutData[4]; OutData[0] = ch1; OutData[1] = ch2; OutData[2] = ch3; OutData[3] =ch4; VisualScope_Output(OutData[0],OutData[1] ,OutData[2] ,OutData[3]); //delay_ms(1000); } //------------------------------------------------------------------------------------------- //The following is the function of CRC16,please refer //------------------------------------------------------------------------------------------- unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT) { unsigned short CRC_Temp; unsigned char i,j; CRC_Temp = 0xffff; for (i=0;i《CRC_CNT; i++){ CRC_Temp ^= Buf[i]; for (j=0;j《8;j++) { if (CRC_Temp & 0x01) CRC_Temp = (CRC_Temp 》》1 ) ^ 0xa001; else CRC_Temp = CRC_Temp 》》 1; } } return(CRC_Temp); } //------------------------------------------------------------------------------------------- //The above is the function of CRC16,please refer //------------------------------------------------------------------------------------------- 2 。 软件设置 设置波特率 选择CRC16校验 在程序调用display(float ch1, float ch2, float ch3, float ch4),显示想要输出波形的数字。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1777 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1080 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1678 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
595浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
554浏览 3评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 06:52 , Processed in 0.695889 second(s), Total 76, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号