芯片本身有个温度传感器。通过ADC第16道进行数据采集。
而例程先建立工程然后把例程USER所有文件考入到工程中的USER目录中。
在这个例程中先是声明ADC为独立的一道非注入,非外部触发转换:
ADC_DeInit(ADC1);
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC1, &ADC_InitStructure);
然后在转换时,会每次都声明一下要转的通道,然后转换一下,取10次平均值:
ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));
val = ADC_GetConversionValue(ADC1);
return val;
以下是运行结果:
这个是16度多,应该说同我家的温度还差点。我家是达标温度18度。也许是隔着封装的材料的原固吧。
这两天看RISC-V觉得同ARM CORTEX-M3在编程上没有太大的区别,代码都可以通用。那么对我来说,什么RISC-V与以前的CORTEX-M3我觉得都是一样的。
而国内有些声音好像说RISC-V是国内芯片超越国外的一次机会。我想说的是这个在于硬设备,就是说能否制造出来芯片。
反正同我编程没有什么影响。前些日子突然看到RISC-V。我到现在突然想起了《黔之驴》。黔无驴,有好事者船载以入,至则无可用放之山下。。。。。。。
“ 能否制造出来芯片 ”
芯片都是自己设计的基于ARM的架构,ARM的基础目前能取代的可能性几乎没有,Microchip、ST、TI、SiliconLabs,也都是这样做。厂家能做的主要是外设的取舍与搭配。
说到外设的取舍与搭配,那是“才美不外见”的事情,所以个人认为,重要是业界生态的构建。
就我这段时间的试用体验来看,沁恒的这款产品的编程环境、流程、API,也就是说跟程序员交互的这块儿可以说很顺畅,除了个别地方还有瑕疵。
这点很重要,因为现在的电子产品,从芯片厂家的角度来说,最终用户(custom)不是消费者(user),而是开发者(developer),具体地说就是程序员,各种级别和专业背景的,包括发烧友、创客。类似于Arduino那样的生态圈似乎应该是沁恒考虑的重点。
本帖最后由 MianQi 于 2021-2-1 11:52 编辑