stm32f103的开发板,usb通过spi方式读取sd卡,在电脑端显示sd卡内容,官方的历程spi方式有问题,程序里做了修改。主要修改在SPI_MSD0_Driver.c中。
2022-01-28 16:11:17 273KB stm32 usb sd卡 spi
1
STM32F407单片机读写 MH-Z14A二氧化碳传感器模块并串口输出软件DEMO例程源码,可做为你的学习设计参考。 int main(void) { uint32_t strL; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); MX_USARTx_Init(); HMI_USARTx_Init(); /* 无限循环 */ while (1) { /* 发送读取数值指令 */ if(HAL_UART_Transmit(&husartx,&aTxBuffer[0],9,0xFFFF)==HAL_OK) /* 读取返回值 */ HAL_UART_Receive(&husartx,&aRxBuffer[0],9,0xFFFF); /* 计算气体浓度值 */ strL=aRxBuffer[2]*256+aRxBuffer[3]; HMI_value_setting("page1.t1.txt",aRxBuffer[0]); HMI_value_setting("page1.t7.txt",aRxBuffer[1]); HMI_value_setting("page1.t9.txt",aRxBuffer[2]); HMI_value_setting("page1.t11.txt",aRxBuffer[3]); HMI_value_setting("page1.t13.txt",aRxBuffer[4]); HMI_value_setting("page1.t15.txt",aRxBuffer[5]); HMI_value_setting("page1.t17.txt",aRxBuffer[6]); HMI_value_setting("page1.t19.txt",aRxBuffer[7]); HMI_value_setting("page1.t21.txt",aRxBuffer[8]); HMI_string_setting("page1.t3.txt",strL); printf("二氧化碳浓度为:%d ppm\n",strL); HAL_Delay(5000); } } /** * 函数功能: 向串口屏发送数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_value_setting(const char *val_str,uint32_t value) { uint8_t tmp_str[30]={0}; uint8_t i; sprintf((char *)tmp_str,"%s=\"%x\"",val_str,value); for(i=0;iDR=tmp_str[i]; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } /** * 函数功能: 向串口屏发送数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_string_setting(const char *val_str,int32_t value) { uint8_t tmp_str[50]={0}; uint8_t i; sprintf((char *)tmp_
STM32单片机读写24位ADC_AD7190称重模块带液晶显示例程DEMO源码文件,可做为你的学习设计参考。 int main(void) { uint32_t lcdid; float data_temp; int32_t weight_count; uint8_t cali_flag=0; char str[50]; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); KEY_GPIO_Init(); /* 初始化3.5寸TFT液晶模组,一般优先于调试串口初始化 */ lcdid=BSP_LCD_Init(); /* 调用格式化输出函数打印输出数据 */ printf("LCD ID=0x%08X\n",lcdid); LCD_Clear(0,0,LCD_DEFAULT_WIDTH,LCD_DEFAULT_HEIGTH,BLACK); HAL_Delay(1000); /* 开背光 */ LCD_BK_ON(); if(AD7190_Init()==0) { printf("获取不到 AD7190 !\n"); while(1) { HAL_Delay(1000); if(AD7190_Init()) break; } } printf("检测到 AD7190 !\n"); weight_ad7190_conf(); HAL_Delay(500); weight_Zero_Data = weight_ad7190_ReadAvg(6); printf("zero:%d\n",weight_Zero_Data); /* 无限循环 */ while (1) { weight_count=weight_ad7190_ReadAvg(6); data_temp=weight_count-weight_Zero_Data; weight=data_temp*1000/weight_proportion; printf("重量:0x%5X->%f\n",weight_count,weight); sprintf(str,"0x%5X",weight_count); LCD_DispString_EN(190,80,str,BLACK,RED,USE_FONT_24); sprintf(str,"%0.2fg",weight); LCD_Clear(140,100,300,64,BLACK); LCD_DispString_EN(140,100,str,BLACK,YELLOW,USE_FONT_64); HAL_Delay(100); if(KEY1_StateRead()==KEY_DOWN) // 清零 { weight_Zero_Data = weight_ad7190_ReadAvg(6); printf("zero:%d\n",weight_Zero_Data); cali_flag=1; } if(KEY2_StateRead()==KEY_DOWN) // 校准:必须先按“清零”键,然后把20g砝码放在称上,按下校准键 { if(cali_flag) { weight_count = weight_ad7190_ReadAvg(6); weight_proportion=(weight_count-weight_Zero_Data)*1000/100; printf("weight_proportion:%d\n",weight_proportion); } cali_flag=0; } }
#include #include #define uchar unsigned char #define uint unsigned int //********************2402读写指令********************** #define c2402wdat 0xa0 #define c2402rdat 0xa1 //**************************end****************** //**************2402IO***dinyi****************** sbit sda=P1^0; sbit scl=P1^1; sbit P13=P1^3; //********************************************** void dins(uchar a) { uchar b; for(;a>0;a--) for(b=100;b>0;b--) ; } //**************************12MHz**************如为24MHz则所有延时需加陪********************** void start() //**********开始********************** { sda=1; scl=1; _nop_(); _nop_();
2022-01-28 14:01:50 3KB 2402 2401 24c02 24c01
1
【程序老媛出品,必属精品,亲测校正,质量保证】 资源名:C#和西门子OPC UA通信进行读写数据程序源码.zip 资源类型:程序源代码 源码说明: C#编写的和西门子OPCUA服务器进行通信的程序源码 包含读写数据,多个读写,多个注册node,多个订阅等功能 包含完整代码和注释 非常适合借鉴学习 适合人群:新手及有一定经验的开发人员
2022-01-28 13:02:47 5.05MB C# 西门子 OPCUA 读写数据程序源码
【程序老媛出品,必属精品,亲测校正,质量保证】 资源名:C#通过OPC连接PLC读写数据程序源码.zip 资源类型:程序源代码 源码说明: 基于C#写的通过OPC和PLC进行数据交互的程序源码 代码完整注释详细 很适合借鉴学习 适合人群:新手及有一定经验的开发人员
2022-01-28 13:02:02 1.75MB C# OPC 连接PLC读写数据 程序源码
文件的读写操作,对新人有一定的参考价值.大家可以看看
2022-01-27 17:04:17 15.98MB 文件读写操作
1
基于德卡官方DLL编写,支持4442卡读、写、密码修改以及只读保护的设置。4442卡前32字节支持写保护设置,需要进行保护的字节右键即可设置保护(写保护操作为不可逆操作,一旦保护成功,则无法再次修改)
2022-01-27 14:06:28 638KB 易语言德卡读卡器读写4442卡工
开源硬核过三方驱动读写易语言源码下载
2022-01-27 09:06:32 14KB stm32 arm 嵌入式硬件 单片机
本文以Kintex-7系列XC7K410T FPGA芯片和两片MT41J128M16 DDR3 SDRAM芯片为硬件平台,设计并实现了基于FPGA的视频图形显示系统的DDR3多端口存储管理。
2022-01-26 16:28:55 418KB 存储器控制 多端口 帧地址 DDR3
1