主题中讨论的其他器件:LAUNCHXL2-TMS57012
工具/软件:Code Composer Studio
你(们)好
12V 上拉 GPIOA7开漏不起作用。
gioInit() 源是
void gioInit (void)
{
/*用户代码开始(2)*/
/*用户代码结束*/
/**使 GIO 模块脱离复位状态*/
gioREG->GCR0 = 1U;
gioREG->ENACLR = 0xFFU;
gioREG->LVLCLR = 0xFFU;
/**@b 初始化@b 端口@b a */
/**-端口 A 输出值*/
gioPORTA->DOUT=(UINT32)((UINT32)0U <<0U) /*位0 */
|(UINT32)((UINT32) 0U << 1U) /*位1 */
|(UINT32)((UINT32) 0U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(uint32)((uint32) 1U << 7U);/*位7 *
/**-端口 A 方向*/
gioPORTA->DIR =(uint32)((uint32) 1U <<0U) //位0 */
|(UINT32)((UINT32) 0U << 1U) /*位1 */
|(uint32)((uint32) 1U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(uint32)((uint32) 1U <<6U) /*位6 */
|(uint32)((uint32) 1U << 7U);/*位7 *
/**-端口 A 开漏启用*/
gioPORTA->PDR =(uint32)((uint32) 0U <<0U) //位0 */
|(UINT32)((UINT32) 0U << 1U) /*位1 */
|(UINT32)((UINT32) 0U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(uint32)((uint32) 1U << 7U);/*位7 *
/**-端口 A 上拉/下拉选择*/
gioPORTA->PSL =(uint32)((uint32) 0U <<0U) //位0 */
|(UINT32)((UINT32) 0U << 1U) /*位1 */
|(UINT32)((UINT32) 0U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(uint32)((uint32) 0U << 7U);/*位7 *
/**端口 A 上拉/下拉使能*/
gioPORTA->PULDIS =(uint32)((uint32) 0U <<0U) //位0 */
|(UINT32)((UINT32) 0U << 1U) /*位1 */
|(UINT32)((UINT32) 0U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(uint32)((uint32) 0U << 7U);/*位7 *
/**@b 初始化@b 端口@b B */
/**-端口 B 输出值*/
gioPORTB->DOUT=(UINT32)((UINT32) 1U <<0U) /*位0 */
|(uint32)((uint32) 1U << 1U) /*位1 */
|(uint32)((uint32) 1U << 2U) /*位2 */
|(UINT32)((UINT32) 1U << 3U) /*位3 *
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(uint32)((uint32) 0U << 7U);/*位7 *
/**-端口 B 方向*/
gioPORTB->DIR =(UINT32)((UINT32) 1U <<0U) /*位0 */
|(uint32)((uint32) 1U << 1U) /*位1 */
|(uint32)((uint32) 1U << 2U) /*位2 */
|(UINT32)((UINT32) 1U << 3U) /*位3 *
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(uint32)((uint32) 0U << 7U);/*位7 *
/**-端口 B 开漏启用*/
gioPORTB->PDR =(UINT32)((UINT32) 0U <<0U) /*位0 */
|(UINT32)((UINT32) 0U << 1U) /*位1 */
|(UINT32)((UINT32) 0U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(uint32)((uint32) 0U << 7U);/*位7 *
/**-端口 B 上拉/下拉选择*/
gioPORTB->PSL =(uint32)((uint32) 0U <<0U) //位0 */
|(UINT32)((UINT32) 0U << 1U) /*位1 */
|(UINT32)((UINT32) 0U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(uint32)((uint32) 0U << 7U);/*位7 *
/**端口 B 上拉/下拉使能*/
gioPORTB->PULDIS =(uint32)((uint32) 0U <<0U)//位0 */
|(UINT32)((UINT32) 0U << 1U) /*位1 */
|(UINT32)((UINT32) 0U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(uint32)((uint32) 0U << 7U);/*位7 *
/*用户代码开始(3)*/
/*用户代码结束*/
/**@b 初始化@b 中断*/
/**-中断极性*/
gioREG->POL =(uint32)((uint32) 0U <<0U) //位0 */
|(UINT32)((UINT32) 0U << 1U) /*位1 */
|(UINT32)((UINT32) 0U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(UINT32)((UINT32) 0U << 7U) //位7 */
|(uint32)((uint32) 0U << 8U) //位8 */
|(UINT32)((UINT32) 0U <<9U) //位9 */
|(UINT32)((UINT32) 0U << 10U) //位10 */
|(UINT32)((UINT32) 0U << 11U) //位11 */
|(UINT32)((UINT32) 0U << 12U) //位12 */
|(UINT32)((UINT32) 0U << 13U) //位13 */
|(uint32)((uint32) 0U << 14U) //位14 */
|(uint32)((uint32) 0U << 15U);//位15 */
/**-中断级别*/
gioREG->LVLSET =(uint32)((uint32) 0U <<0U) //位0 */
|(UINT32)((UINT32) 0U << 1U) /*位1 */
|(UINT32)((UINT32) 0U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(UINT32)((UINT32) 0U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(UINT32)((UINT32) 0U << 7U) //位7 */
|(uint32)((uint32) 0U << 8U) //位8 */
|(UINT32)((UINT32) 0U <<9U) //位9 */
|(UINT32)((UINT32) 0U << 10U) //位10 */
|(UINT32)((UINT32) 0U << 11U) //位11 */
|(UINT32)((UINT32) 0U << 12U) //位12 */
|(UINT32)((UINT32) 0U << 13U) //位13 */
|(uint32)((uint32) 0U << 14U) //位14 */
|(uint32)((uint32) 0U << 15U);//位15 */
/**-清除所有挂起的中断*/
gioREG->FLG = 0xFFU;
/**-启用中断*/
gioREG->ENASET =(uint32)((uint32) 0U <<0U) //位0 */
|(uint32)((uint32) 1U << 1U) /*位1 */
|(UINT32)((UINT32) 0U << 2U) /*位2 */
|(UINT32)((UINT32) 0U << 3U) /*位3 */
|(uint32)((uint32) 0U << 4U) //位4 */
|(uint32)((uint32) 1U <<5U) /*位5 */
|(UINT32)((UINT32) 0U << 6U) //位6 */
|(UINT32)((UINT32) 0U << 7U) //位7 */
|(uint32)((uint32) 0U << 8U) //位8 */
|(UINT32)((UINT32) 0U <<9U) //位9 */
|(UINT32)((UINT32) 0U << 10U) //位10 */
|(UINT32)((UINT32) 0U << 11U) //位11 */
|(UINT32)((UINT32) 0U << 12U) //位12 */
|(UINT32)((UINT32) 0U << 13U) //位13 */
|(uint32)((uint32) 0U << 14U) //位14 */
|(uint32)((uint32) 0U << 15U);//位15 */
/*用户代码开始(4)*/
/*用户代码结束*/
}
gioSetBit (gioPORTA、7、0); //输出为0V
延迟(1000);
gioSetBit (gioPORTA、7、1); //输出为4V (12V 上拉1k Ω 电阻)
延迟(1000);
我想知道。 12V 电压不会输出。
请回答我的问题。