嵌入式(八)Flash在线编程、ADC与DAC

作业:

1.用实验验证,对于有数据的某扇区,如果没有擦除( Flash_erase ),可否写入新数据?注:扇区号为学号 后 2 位,数据文本中要有姓名。
2.在 ADC 模块中,显示当前温度和芯片内部温度,感受温度变化(分别用冷、热触碰)。

实验过程:

1.用实验验证,对于有数据的某扇区,如果没有擦除(Flash_erase),可否写入新数据?注:扇区号为学号 后2位,数据文本中要有姓名。
步骤:
(扇区号就不要按学号了,太小的会被冲。可以写50。不进行擦除操作就把第二次输入前的擦除函数注释掉;)
导入flash工程,main.c中:
//擦除第50扇区
	flash_erase(50);   
    //向50扇区第0偏移地址开始写32个字节数据
    flash_write(50,0,32,(uint8_t *) "My name is CJB");
	flash_read_logic(mK1,50,0,32); //从50扇区读取32个字节到mK1中
	printf("逻辑读方式读取50扇区的32字节的内容:  %s\n",mK1);
	
	flash_write(50,0,32,(uint8_t *) "My name is CCC");
	flash_read_logic(mK2,50,0,32); //从50扇区读取32个字节到mK2中
	printf("逻辑读方式读取50扇区的32字节的内容:  %s\n",mK2);

结果:

  • 结论:对于有数据的某扇区,如果没有擦除(Flash_erase),仍可写入新数据。
2.在ADC模块中,显示当前温度和芯片内部温度,感受温度变化(分别用冷、热触碰)。
步骤:
导入工程ADC-STM32L431-20220613,
main.c:
    //(1)======启动部分(结尾)==========================================
    
    //(2)======主循环部分(开头)========================================
    //for(;;)(开头)
    for(;;)
    {
    	//主循环次数变量+1
        mMainLoopCount++;
        //未达到主循环次数设定值,继续循环
        //延时1秒
        if (mMainLoopCount<=30000000)  continue;
        //达到主循环次数设定值,执行下列语句,进行灯的亮暗处理
        //清除循环次数变量
        mMainLoopCount=0;
        
        num_AD1 = adc_ave(ADC_CHANNEL_1,8);
        num_AD2 = adc_ave(ADC_CHANNEL_15,8);
        num_AD3 = adc_ave(ADC_CHANNEL_TEMPSENSOR,8);
        printf("通道1(GEC47、46)的A/D值: %d\r\n",num_AD1);
        printf("通道1(GEC47、46)的温度值: %f\r\n",Regression_Ext_Temp(num_AD1));
        printf("通道15(GEC12、11)的A/D值:%d\r\n",num_AD2);
        printf("通道15(GEC12、11)的温度值:%f\r\n",Regression_Ext_Temp(num_AD2));
        printf("内部温度传感器的A/D值:%d\r\n",num_AD3);
        printf("内部温度传感器的温度值:%f\r\n\n",Regression_MCU_Temp(num_AD3));
    }
 //for(;;)结尾
    //(2)======主循环部分(结尾)========================================
}   //main函数(结尾)

测试结果: 

摸了热敏电阻和芯片,感觉没啥明显变化...
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值