这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » sacq的ARM DIY进程贴(手绘波形发生器 视频 HEX码)

共284条 20/29 |‹ 18 19 20 21 22 23 ›| 跳转至
高工
2012-05-23 10:07:01     打赏
191楼
最关键的DTAOUT(X)....

高工
2012-05-23 10:30:57     打赏
192楼
fsmc还有DTAOUT(X)....?直接在地址上写数据就ok了啊。。

高工
2012-05-23 21:36:39     打赏
193楼

一个又长又臭的式子,一不留神就出错了还不知道是怎么错的最后连自己都要糊涂的式子:
#define DATAOUT(x) { GPIOE->ODR=((GPIOE->ODR&0X007F)|((x&0x1FF0)<<3)); \
                     GPIOD->ODR=((GPIOD->ODR&0X38FC)|((x&0x0003)<<14))|((x&0x000C)>>2)|((x&0xE000)>>5) ; \
       }     //数据输出


高工
2012-05-23 21:56:00     打赏
194楼
还差的很远那,才接触点皮毛。

高工
2012-05-24 00:19:17     打赏
195楼

接着188楼。换个思路,用BHS的办法,ADC 使用了 DMA方式,结果通过串口送出。
结果是相近的,另在输入端接地、接3.3V时,结果是正确的(000和FFF)。



要点(大多数注解byBHS):

void adc_Init (void) {

  RCC->APB2ENR|=1<<4;    //使能PORTC口时钟   
 GPIOC->CRL&=0XFFFF0000;//PC0 1 2 3 anolog输入 
 
  // enable periperal clock for DMA
  //使能DMA时钟
  RCC->AHBENR |= (1<<0);
  // set channel1 memory address  
  //设置DMA内存地址,ADC转换结果直接放入该地址
  DMA1_Channel1->CMAR  = (u32)&ADC_ConvertedValue;
  // set channel0 peripheral address
  //设置通道1外设地址
  DMA1_Channel1->CPAR  = (u32)&(ADC1->DR);
  // transmit 1 word
  //DMA传送1个字
  DMA1_Channel1->CNDTR = 1;
  // configure DMA channel
  DMA1_Channel1->CCR   = 0x00002520;
  // DMA Channel 1 enable    //使能DMA通道
  DMA1_Channel1->CCR  |= (1 << 0);               

  // enable periperal clock for ADC1 
  //使能ADC时钟
  RCC->APB2ENR |= (1<<9);
  // only one conversion   // 只有1个转换通道
  ADC1->SQR1  = 0x00000000;
  // set sample time channel0 (55,5 cycles)// (3bit)
  //通道1采样周期55.5个时钟周期
  ADC1->SMPR2 = 0x00000028;
  // set channel1 as 1st conversion // (5bit)
  //第1个转换通道是1通道
//  ADC1->SQR3  = 0x00000000;  //这适合CH0
  ADC1->SQR3  = 0x0000000B;   // CH11
  // use independant mode, SCAN mode
  //使用独立模式,扫描模式
  ADC1->CR1   = 0x00000100;
  // use data align right,continuous conversion
  //使用数据右对齐,连续转换
  ADC1->CR2   = 0x000E0103;
  // EXTSEL = SWSTART
  // enable ADC, DMA mode, no external Trigger
  // start SW conversion
  //允许ADC,DMA模式,无需外接触发器
  //开始转换
  ADC1->CR2  |=  0x00500000;      
}


高工
2012-05-24 07:47:11     打赏
196楼

兄弟,太感谢你了


高工
2012-05-24 14:11:13     打赏
197楼
这就得了,恭喜了

助工
2012-05-24 22:15:08     打赏
198楼
楼主厉害~~~~~~~~~~~~~~~~

高工
2012-05-24 23:07:23     打赏
199楼

你的进展值得称道啊


助工
2012-05-25 21:35:17     打赏
200楼
俄罗斯方块~O(∩_∩)O~不错

共284条 20/29 |‹ 18 19 20 21 22 23 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]