在线时间274 小时
UID354205
注册时间2015-2-13
NXP金币0
TA的每日心情 | 衰 2019-9-17 13:22 |
---|
签到天数: 238 天 连续签到: 1 天 [LV.7]常住居民III
金牌会员
 
- 积分
- 2251
- 最后登录
- 2024-10-8
|
K64 PD0~1管脚的CS0,CS1分别用于两片AD芯片的片选。设置如下BSP中init_hw.c中_bsp_flexbus_setup将CS0,CS1功能使能 pctl = (PORT_MemMapPtr)PORTD_BASE_PTR; pctl->PCR[0] = PORT_PCR_MUX(ALT5); /* FB_CS1 */
pctl->PCR[1] = PORT_PCR_MUX(ALT5); /* FB_CS0 */
初始化CS代码如下
void InitCS(void) /*CS0初始化*/
{
FB_MemMapPtr fb_ptr = FB_BASE_PTR;
fb_ptr->CS[0].CSMR = 0;
fb_ptr->CS[0].CSAR = ADC_BASE_ADDRESS;
fb_ptr->CS[0].CSCR = FB_CSCR_AA_MASK | FB_CSCR_WS(2) | FB_CSCR_PS(3);
fb_ptr->CS[0].CSMR = FB_CSMR_BAM(0) | FB_CSMR_V_MASK;
fb_ptr->CS[1].CSMR = 0; /*CS1初始化*/
fb_ptr->CS[1].CSAR = ADC_BASE_ADDRESS1;
fb_ptr->CS[1].CSCR = FB_CSCR_AA_MASK | FB_CSCR_WS(2) | FB_CSCR_PS(3);
fb_ptr->CS[1].CSMR = FB_CSMR_BAM(0) | FB_CSMR_V_MASK;
}
初始地址如下
#define ADC_BASE_ADDRESS 0xa0000000
#define ADC_BASE_ADDRESS1 0xa1000000
读总线数据
Ad0Result[index]=*(int_16 *)(0xa0000000);
Ad1Result[index]=*(int_16 *)(0xa1000000);
结果发现读的数据混乱,问一下设置是否有问题,该如何改?
|
|