本帖最后由 littleshrimp 于 2014-8-14 09:09 编辑
在调LPC1549的SPI,想使用GPIO控制P0.27的电平,在代码里看DIR和PIN寄存器数据都正常,将27改成25红 {MOD}LED也发光,控制J1第9脚的P1.0也有波型,但唯独控制P2.7时没有电平变化,我在测试的时候只有GPIO的代码,并没有初始化SPI,而如果单独使用SPI的SSEL功能可以控制P0.27,使用周立功的例程。
- /****************************************Copyright (c)****************************************************
- ** Guangzhou ZHIYUAN electronics Co.,LTD.
- **
- ** http://www.embedtools.com
- **
- ** ¹ãÖÝÖÜÁ¢¹¦µ¥Æ¬»ú¿Æ¼¼ÓÐÏÞ¹«Ë¾ËùÌṩµÄËùÓзþÎñÄÚÈÝÖ¼ÔÚÐÖú¿Í»§¼ÓËÙ²úÆ·µÄÑз¢½ø¶È£¬ÔÚ·þÎñ¹ý³ÌÖÐËùÌṩ
- ** µÄÈκγÌÐò¡¢Îĵµ¡¢²âÊÔ½á¹û¡¢·½°¸¡¢Ö§³ÖµÈ×ÊÁϺÍÐÅÏ¢£¬¶¼½ö¹©²Î¿¼£¬¿Í»§ÓÐȨ²»Ê¹Óûò×ÔÐвο¼Ð޸ģ¬±¾¹«Ë¾²»
- ** ÌṩÈκεÄÍêÕûÐÔ¡¢¿É¿¿ÐԵȱ£Ö¤£¬ÈôÔÚ¿Í»§Ê¹Óùý³ÌÖÐÒòÈκÎÔÒòÔì³ÉµÄÌرðµÄ¡¢Å¼È»µÄ»ò¼ä½ÓµÄËðʧ£¬±¾¹«Ë¾²»
- ** ³Ðµ£ÈκÎÔðÈΡ£
- ** ¡ª¡ª¹ãÖÝÖÜÁ¢¹¦µ¥Æ¬»ú¿Æ¼¼ÓÐÏÞ¹«Ë¾
- **
- **--------------File Info---------------------------------------------------------------------------------
- ** File Name: Main.c
- ** Last modified date: 2014-03-12
- ** Last version: V1.0
- ** Description: Ö÷º¯ÊýÎļþ
- **
- **--------------------------------------------------------------------------------------------------------
- ** Created by: LiangZhongCheng
- ** Created date: 2014-03-12
- ** Version: V1.0
- ** Descriptions: GPIO LEDµÆ
- **--------------------------------------------------------------------------------------------------------
- ** Modified by:
- ** Modified date:
- ** Version:
- ** Descriptions:
- *********************************************************************************************************/
- #include "includes.h"
- extern uint32_t SystemCoreClock;
- /*********************************************************************************************************
- ** Òý½Å¶¨Òå
- *********************************************************************************************************/
- #define LED_PORT 0
- #define LED1 27
- #define LED2 25
- #define LED_OFF 1
- #define LED_ON 0
- /*********************************************************************************************************
- ** Function name: myDelay
- ** Descriptions: Èí¼þÑÓʱ ms º¯Êý
- ** input parameters: ulTime:ÑÓʱʱ¼ä
- ** output parameters: None
- ** Returned value: None
- *********************************************************************************************************/
- void myDelay (INT32U ulTime)
- {
- INT32U i = 0;
- while (ulTime --) {
- for (i = 0;i < 14400;i++) {
- }
- }
- }
- /*********************************************************************************************************
- ** Function name: main
- ** Descriptions: ±¾Àý³ÌÖ÷ÒªÑÝʾÈçºÎ¿ØÖÆGPIOÊä³öµçƽ
- ** ¶ÔÓÚ15xxµÄGPIO,µ±¶ÔÓ¦µÄGPIOûÓзÖÅäÈκι¦ÄÜʱ£¬GPIO¾Í¿ÉÒÔÊä³öµçƽ£¬²»¹ÜʹÄÜÁËʲô¹¦ÄÜ£¬
- ** GPIO×ÜÊÇ¿ÉÒԵõ½¶ÔÓ¦Òý½ÅµÄÊäÈë״̬£¬Ä¬ÈÏGPIOÊÇÊäÈ룬ÎÞÉÏÀ£¬ÎÞÏÂÀ¡£
- ** ÉèÖÃGPIOÖ÷Òª·ÖÁ½²½£º1£¬Ê¹Äܶ˿ÚʱÖÓ£»2£¬ÉèÖÃÊä³ö·½Ïò£¬ÅäÖÃģʽ(ÔÚiocfg.cÖÐÉèÖÃ)¡£
- **
- ** ²âÊÔ²½Ö裺
- ** 1£¬½«³ÌÐòÏÂÔص½LPC1500µÄdemo°åÉÏ£»
- ** 2£¬¸ødemo°åÉϵ粢¸´Î»¡£
- **
- ** ÏÖÏó£º
- ** Á½¸öLEDµÆÒÀ´ÎÉÁ˸
- **
- ** input parameters: none
- ** output parameters: none
- ** Returned value: none
- *********************************************************************************************************/
- int main(void)
- {
- SystemCoreClockUpdate();
- GPIOInit(); /* ʱÄÜGPIOʱÖÓ£¬¹Ø±Õ¸´Î» */
- GPIOSetDir(LED_PORT, LED1, 1); /* ÉèÖÃPI00.3³ÉÊä³ö */
- GPIOSetDir(LED_PORT, LED2, 1); /* ÉèÖÃPI00.4³ÉÊä³ö */
- GPIOSetBitValue(LED_PORT,LED1,LED_OFF); /* ¹Ø±ÕËùÓÐLED */
- GPIOSetBitValue(LED_PORT,LED2,LED_OFF);
-
- while(1) {
- GPIOSetBitValue(LED_PORT,LED1,LED_ON); /* ´ò¿ªµÄLED1 */
- myDelay(500); /* ÑÓʱ0.5s */
-
- GPIOSetBitValue(LED_PORT,LED1,LED_OFF); /* ¹Ø±ÕµÄLED1 */
- myDelay(500);
-
- GPIOSetBitValue(LED_PORT,LED2,LED_ON); /* ´ò¿ªµÄLED2 */
- myDelay(500);
-
- GPIOSetBitValue(LED_PORT,LED2,LED_OFF); /* ¹Ø±ÕµÄLED2 */
- myDelay(500);
- }
- }
- /*********************************************************************************************************
- End Of File
- *********************************************************************************************************/
复制代码
此帖出自
小平头技术问答
一周热门 更多>