当前位置: 首页 > news >正文

南平建设集团有限公司网站广告公司加盟

南平建设集团有限公司网站,广告公司加盟,艾奇视觉网站建设,网站大全浏览器STM32-HAL库06-IIC驱动FM24CL16B非易失存储器 一、所用材料#xff1a; STM32VGT6自制控制板 STM32CUBEMX#xff08;HAL库软件#xff09; MDK5 二、所学内容#xff1a; 通过HAL库的硬件IIC对FM24CL16B存储器进行写与读取操作。 三、CUBEMX配置#xff1a; 第一步…STM32-HAL库06-IIC驱动FM24CL16B非易失存储器 一、所用材料 STM32VGT6自制控制板 STM32CUBEMXHAL库软件 MDK5 二、所学内容 通过HAL库的硬件IIC对FM24CL16B存储器进行写与读取操作。 三、CUBEMX配置 第一步选取IIC1进行配置 第二步配置SYS 第三步配置RCC 第四步配置时钟 第五步文件配置 四、MDK5程序编写 1.配置FM24CL16B.h文件 #ifndef __FM24CL16_H #define __FM24CL16_H //移植的时候根据所选芯片引入相应的头文件在main.h里面查看 #include stm32f4xx_hal.h #include i2c.h#define FM_24LC16_Write 0xA0 #define FM_24LC16_Read 0xA1 #define BufferSize 2048//电机参数内存分配 #define Rs_add 0 #define Rr_add 4void FM24CL16B_Write_data(uint16_t add , uint8_t data); uint8_t FM24CL16B_Read_data(uint16_t add); void Parameter_Write (uint16_t para_add , float para_data); float Parameter_Read (uint16_t para_add);#endif 2.配置FM24CL16B.c文件 #include FM24CL16B.h #include i2c.h #include stdio.h/******************************************** 函数名称FM24CL16写数据 函数参数add—写入数据的地址(0-2048)data—写入的数据(0-256) 函数解析向指定地址写入特定数据并且在写入后读取一次打印至串口 ********************************************/ void FM24CL16B_Write_data(uint16_t add , uint8_t data) {HAL_I2C_Mem_Write(hi2c1, FM_24LC16_Write, add, I2C_MEMADD_SIZE_8BIT,data,1,0xff);HAL_Delay(5);//此处延时必加printf(\r\n EEPROM 24C02 Write Test OK \r\n);FM24CL16B_Read_data(add); } /******************************************** 函数名称FM24CL16读数据 函数参数add—读数据的地址(0-2048) 函数解析读取指定地址的数据并返回该数据 ********************************************/ uint8_t FM24CL16B_Read_data(uint16_t add) {uint8_t Read_data;HAL_I2C_Mem_Read(hi2c1, FM_24LC16_Read, add, I2C_MEMADD_SIZE_8BIT,Read_data,1, 0xff);printf(地址%d 16进制0x%02X 10进制%d \r\n,add,Read_data,Read_data);return Read_data; } /******************************************** 函数名称浮点数参数写入 函数参数para_add—写入参数的头地址para_data-写入的参数浮点数值 函数解析将浮点数参数值写入到指定的参数地址 ********************************************/ void Parameter_Write (uint16_t para_add , float para_data) {uint16_t zhengshu ;uint8_t zhengshu1 ;uint8_t zhengshu2 ;uint16_t xiaoshu ;uint8_t xiaoshu1 ;uint8_t xiaoshu2 ;zhengshu (uint16_t)para_data;zhengshu1 zhengshu/256;zhengshu2 zhengshu%256;xiaoshu (para_data-zhengshu)*1000.0;xiaoshu1 xiaoshu/256;xiaoshu2 xiaoshu%256;HAL_I2C_Mem_Write(hi2c1, FM_24LC16_Write,para_add, I2C_MEMADD_SIZE_8BIT,zhengshu1,1,0xff);HAL_Delay(5);//此处延时必加HAL_I2C_Mem_Write(hi2c1, FM_24LC16_Write,para_add1, I2C_MEMADD_SIZE_8BIT,zhengshu2,1,0xff);HAL_Delay(5);//此处延时必加HAL_I2C_Mem_Write(hi2c1, FM_24LC16_Write,para_add2, I2C_MEMADD_SIZE_8BIT,xiaoshu1,1,0xff);HAL_Delay(5);//此处延时必加HAL_I2C_Mem_Write(hi2c1, FM_24LC16_Write,para_add3, I2C_MEMADD_SIZE_8BIT,xiaoshu2,1,0xff);HAL_Delay(5);//此处延时必加FM24CL16B_Read_data(para_add);FM24CL16B_Read_data(para_add1);FM24CL16B_Read_data(para_add2);FM24CL16B_Read_data(para_add3); } /******************************************** 函数名称浮点数参数读取 函数参数para_add—读取参数的头地址 函数解析将浮点数参数值从内存中读出并返回 ********************************************/ float Parameter_Read (uint16_t para_add) {float para_data;uint8_t zhengshu1 ;uint8_t zhengshu2 ;uint8_t xiaoshu1 ;uint8_t xiaoshu2 ;zhengshu1 FM24CL16B_Read_data(para_add);zhengshu2 FM24CL16B_Read_data(para_add1);xiaoshu1 FM24CL16B_Read_data(para_add2);xiaoshu2 FM24CL16B_Read_data(para_add3);para_data zhengshu1*256zhengshu2(xiaoshu1*256xiaoshu2)*0.001;printf(参数值为%f,para_data);return para_data; }3.配置main.c文件 int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_TIM2_Init();MX_TIM5_Init();MX_I2C1_Init();MX_USART2_UART_Init();/* USER CODE BEGIN 2 */HAL_TIM_PWM_Start(htim2,TIM_CHANNEL_1);__HAL_TIM_CLEAR_IT(htim5, TIM_IT_UPDATE);HAL_TIM_Base_Start_IT(htim5); /* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE BEGIN 2 */Parameter_Write (Rr_add , 1458.0597);//写入Rr_add的参数值并且会读取一次Parameter_Read (Rs_add); //读取Rs_add的参数值此值之前已经写进去过了HAL_Delay(10000);/* USER CODE END 2 *//* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */ }4.测试
http://www.hkea.cn/news/14477272/

相关文章:

  • 网站服务器基本要素中国建设银行网站官网网址
  • 门户网站 特点常州网站制作维护
  • 山西省建设银行网站律师事务所东莞网站建设
  • 企业网站建设合同版本郑州发布
  • asp.net mvc5网站开发之美怎么推广网址
  • 丹东网站建设平台wordpress categories
  • 国外网站拼邮需要怎么做如何利用源代码做网站
  • 合肥网站优化选哪家wordpress版权年份
  • 手机网站列表 教程注册网站诚信承诺书
  • o2o网站建设要多少钱一个空间怎么放两个网站吗
  • 苏州建站公司认准苏州聚尚网络2022最新永久地域网名
  • 自己做网站教学视频教程wordpress自带重定向
  • 做网站都用什么语言学校网站建设责任书
  • 婚庆 网站模板免费域名注册和免费建站
  • html5 微网站模版网站开发需要学习哪些内容
  • h5模板网站模板公司的网站 优帮云
  • 没有网站可以做app吗建筑设计网址大全
  • 网站建设一定要备案吗上海工程咨询协会官网
  • 山西建设监理协会官方网站包装设计公司报价
  • 网站建设的需求怎么写建站服务搭建的页面时
  • 食品网站建设书wordpress dockerfile
  • 怎么利用网站做外链接wordpress 添加缩略图
  • 网站建设品牌策划方案可以做t恤的网站
  • 给别人建设网站怎么收费物联网网站的建设和维护
  • 林业网站模板怎样用数据库做网站
  • 公司名称邮箱大全南昌百度推广优化
  • 游戏网站开发计划书东莞平面设计公司有哪些
  • 做球衣外贸用什么网站西安关键字优化哪家好
  • 重庆永川网站建设价格wordpress 挖矿脚本
  • 学院网站建设网络域名注册多少钱