#include "7047.h"
#define AD0_READY AD0.ADCSR.BIT.ADF
void InitSH(void)
{
PFC.PECRL1.WORD=0;
PFC.PECRL2.WORD=0;
PFC.PEIORL.WORD=0xFFFF;//PE I/O 書き出しモード
PFC.PACRL2.WORD=0;
PFC.PAIORL.WORD=0xFFFF;
PFC.PBCR1.BIT.PB5MD=0; //PB=出力
PFC.PBCR2.BIT.PB5MD=0;
PFC.PBCR1.WORD=0;
PFC.PBIOR.WORD=0XFFFF;
PFC.PDIORL.WORD=0xFFFF;
MST.CR2.BIT._AD0=0; // without this setting,ADC wouldn't
work!
AD0.ADCR.BIT.ADST=0;
AD0.ADCR.BYTE=0;
AD0.ADCSR.BYTE=0;
AD0.ADCR.BIT.CKS=0x3;
AD0.ADCR.BIT.ADST=1; //start AD
}
inline unsigned short getAD(void)
{
unsigned short moto_data;
AD0.ADCR.BIT.ADST=0;
moto_data=AD0.ADDR0.WORD;
return (moto_data>>6); //上位10ビットが有効
}
inline void putDA(short data)
{
PE.DRL.WORD =~data;
AD0.ADCSR.BIT.ADF=0;
AD0.ADCR.BIT.ADST=1;
}
//-------------------------------------