事情并不复杂,仔细想想再试试就行了
/* IO 总线输入模式 */
__inline void IObusInMode(void)
{
IO2DIR &= ~(0x0ff<<16);
}
/* IO 总线输出模式 */
__inline void IObusOutMode(void)
{
IO2DIR |= (0x0ff<<16);
}
/* IO 总线输出全低.高 */
__inline void IObusOutAllL(void)
{
IO2CLR = (0x0ff<<16);
}
__inline void IObusOutAllH(void)
{
IO2SET = (0x0ff<<16);
}
/* IO 总线输出 */
__inline void IObusOut(INT8U d)
{
IObusOutAllL();
IO2SET = (d<<16);
}
/* IO 总线输入 */
__inline unsigned CHAR IObusIn(void)
{
return (unsigned CHAR)(IO2PIN >> 16);
}
/* 使能 dial 输入 */
__inline void enDialCS(void)
{
IO1DIR |= 1<<22;
IO1CLR = 1<<22;
}
/* 禁能 dial 输入 */
__inline void diDialCS(void)
{
IO1DIR |= 1<<22;
IO1SET = 1<<22;
}
/* 使能 RELAY 输出 */
__inline void enRELAYCS(void)
{
IO1DIR |= 1<<23;
IO1SET = 1<<23;
}
/* 禁能 RELAY 输出 */
__inline void diRELAYCS(void)
{
IO1DIR |= 1<<23;
IO1CLR = 1<<23;
}
/* 使能 Input 输入 */
__inline void enInputCS(void)
{
IO1DIR |= 1<<24;
IO1CLR = 1<<24;
}
/* 禁能 Input 输入 */
__inline void diInputCS(void)
{
IO1DIR |= 1<<24;
IO1SET = 1<<24;
}
|