#include "sound4calc.h" #include // from Gint void SwitchPinState() { if(isSH3()) { *(volatile unsigned char*)SH7337_SCPDR ^= 0x01; } else { *(volatile unsigned char*)SH7305_PJDR ^= 0x04; } } void InitPorts() { if(isSH3()) { // initialisation of pin *(volatile unsigned char*)SH7337_SCPDR |= 0x01; // SCIF2 clock on (STBCR3.MSTP31) *(volatile unsigned char*)SH7337_STBCR3 &= ~0x02; // switch off SCSMR_2.TE and SCSMR_2.RE *(volatile unsigned short*)SH7337_SCSCR2 &= ~0x0030; // SCIF2 clock off (STBCR3.MSTP31) *(volatile unsigned char*)SH7337_STBCR3 |= 0x02; // set bit 6 of port G to output mode *(volatile unsigned short*)SH7337_PGCR = ( *(volatile unsigned short*)SH7337_PGCR & ~0x3000 ) | 0x1000; // set bit 5 and 6 of port G *(volatile unsigned char*)SH7337_PGDR |= 0x60; // set port SC bit 0 to output *(volatile unsigned short*)SH7337_SCPCR = ( *(volatile unsigned short*)SH7337_SCPCR & ~0x0003 ) | 0x0001; } else { // initialisation of pin *(volatile unsigned char*)SH7305_PJDR |= 0x04; // SCIF2 clock on (MSTPCR0.MSTP007) *(volatile unsigned int*)SH7305_MSTPCR0 &= ~0x00000080; // switch off SCSMR_2.TE and SCSMR_2.RE *(volatile unsigned short*)SH7305_SCSCR &= ~0x0030; // SCIF2 clock off (MSTPCR0.MSTP007) *(volatile unsigned int*)SH7305_MSTPCR0 |= 0x00000080; // set bit 3 of port U to output mode *(volatile unsigned short*)SH7305_PUCR = ( *(volatile unsigned short*)SH7305_PUCR & ~0x00C0 ) | 0x0040; // set bit 4 and 5 of port U *(volatile unsigned char*)SH7305_PUDR |= 0x0C; // set port J bit 2 to output mode *(volatile unsigned short*)SH7305_PJCR = ( *(volatile unsigned short*)SH7305_PJCR & ~0x0030 ) | 0x0010; // set port J bit 3 to output mode *(volatile unsigned short*)SH7305_PJCR = ( *(volatile unsigned short*)SH7305_PJCR & ~0x00C0 ) | 0x0040; } /* // set port J bit 2 to output *(unsigned short*)0xA4050110 = ( *(unsigned short*)0xA4050110 & ~0x0030 ) | 0x0010; // set port J bit 3 to input *(unsigned short*)0xA4050110 = ( *(unsigned short*)0xA4050110 & ~0x00C0 ) | 0x0080;*/ }