4037|4

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

新人求助tm4c123g的定时控制led闪烁,急!! [复制链接]

5芯积分
本帖最后由 zd695089424 于 2017-4-18 17:07 编辑



最新回复

Rtz
#include #include #include "inc/tm4c123gh6pm.h" #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "driverlib/sysctl.h" #include "driverlib/interrupt.h" #include "driverlib/gpio.h" #include "driverlib/timer.h" int main(void) {         uint32_t ui32Period;         SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);         SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);         GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);         SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);         TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC);         ui32Period = (SysCtlClockGet() / 10) / 2;         TimerLoadSet(TIMER0_BASE, TIMER_A, ui32Period -1);         IntEnable(INT_TIMER0A);         TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);         IntMasterEnable();         TimerEnable(TIMER0_BASE, TIMER_A);         while(1)         {         } } void Timer0IntHandler(void) {         // Clear the timer interrupt         TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);         // Read the current state of the GPIO pin and         // write back the opposite state         if(GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_2))         {                 GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, 0);         }         else         {                 GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 4);         } }   详情 回复 发表于 2017-6-2 16:14
 
点赞 关注(1)

回复
举报

3471

帖子

13

TA的资源

五彩晶圆(高级)

沙发
 
看看gpio的例程,和定时器的例程,把这两个内容基本操作会了。逻辑关系非常简单。可以画个简单流程图,协助分析。
 
 

回复

2774

帖子

8

TA的资源

版主

板凳
 
这个还是自己思考为好,这种也就是点个灯的问题。别的可以不会,点灯还真必须自己来!
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

4
 
亮led闪烁时,有没有人有这种情况,板上pb6,pb7,pd0
,pd1高电平只有2.6V,换了2块都这样,其它除pa1正常,pa1正在考虑是不是没解锁。
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

5
 
#include
#include
#include "inc/tm4c123gh6pm.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/interrupt.h"
#include "driverlib/gpio.h"
#include "driverlib/timer.h"

int main(void)
{
        uint32_t ui32Period;

        SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);

        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
        GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);

        SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
        TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC);

        ui32Period = (SysCtlClockGet() / 10) / 2;
        TimerLoadSet(TIMER0_BASE, TIMER_A, ui32Period -1);

        IntEnable(INT_TIMER0A);
        TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
        IntMasterEnable();

        TimerEnable(TIMER0_BASE, TIMER_A);

        while(1)
        {
        }
}

void Timer0IntHandler(void)
{
        // Clear the timer interrupt
        TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);

        // Read the current state of the GPIO pin and
        // write back the opposite state
        if(GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_2))
        {
                GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, 0);
        }
        else
        {
                GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 4);
        }
}

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表