处理一个简单的ADC项目,从多个通道上的分压器读取电压.我在商用和制作精良的PCB上使用STM32f103rb.我正在读PORTA上的引脚,以下引脚工作并返回电压:
PA0,PA1,PA4,PA5,PA6,PA7.
但是,以下引脚不起作用并返回大约2000-2700的原始值:
PA8,PA11和PA12.
该项目的性质以及PCB具有固定设计的事实意味着我们坚持使用这些引脚选择.数据表非常具体,可以将这些引脚用作AIN.所有设置和配置均按照标准STM32进行,取自基本示例代码并根据我们的目的进行修改.包含的代码是我们制作的调试版本,试图找到原因但无济于事.
已经测量了引脚上的电压,并且对于分压器的类型是正确的.
任何帮助将不胜感激.
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stdio.h"
#include "stdlib.h"
// Standard STM peripheral config functions
void RCC_Configuration(void);
void GPIO_Configuration(void);
// ADC config - STM example code
void NEW_ADC_Configuration(void);
// Function to read ADC channel and output value
u16 NEW_readADC1(u8 channel);
// Variables
double voltage_su; // Variable to store supply voltage
double voltage7;
double voltage8;
//*****************************************************************************
// Main program
int main(void)
{
// Initialise peripheral modules
RCC_Configuration();
GPIO_Configuration();
NEW_ADC_Configuration();
// Infinate loop
while (1) …Run Code Online (Sandbox Code Playgroud) 作为遗传学习算法实验的一部分,能够将整个"基因"阵列分类为适应度顺序是有用的.到目前为止,我在社区中找到的唯一答案是处理最高值或第二高值等等.
有没有人开发出一种可以用C++实现的健壮的数组排序方法?似乎很多实现都涉及(int i:array)方法,这种方法并不是所有C++平台都普遍接受的.
如有任何帮助,我将不胜感激.