大学生
最后登录1970-1-1
在线时间 小时
注册时间2014-10-28
|
1火花
程序在ISO是可以运行的,但是在我自己的三个板子上(两个学长做的板子,一个开发板icore2 ),均没有输出。可是串口printf("%d \n",DAC_GetDataOutputValue(DAC_Channel_1));又能看到数据
先行谢过,感激不尽
附上程序:
while(1)
{
DAC_SetChannel1Data(DAC_Align_12b_R,1000);
printf("%d \n",DAC_GetDataOutputValue(DAC_Channel_1));
}
static void DAC_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
DAC_InitTypeDef DAC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;
DAC_Init(DAC_Channel_1, &DAC_InitStructure);
DAC_Cmd(DAC_Channel_1, ENABLE);
}
|
最佳答案
查看完整内容
1、如果有一块板子可以,那说明了 程序是没有问题,然后就是对比两个开发板的区别
2、CPU的型号是否一样,如果不一样,你现在使用的CPU的这个IO是否有DAC的功能
3、如果CPU一样,用的都是同样的IO,那就看下你这个硬件是否有问题,是否跟其他的传感器复用了
你有可以的硬件和可以的软件,这个问题是很好解决的 ...
|