This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C123GH6PM:GPIO 时钟设置

Guru**** 2601915 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/745634/tm4c123gh6pm-gpio-clock-setting

器件型号:TM4C123GH6PM

我正在尝试了解如何为 GPIO 写入延迟函数。 例如、  

void PortF_Init (void){volatile unsigned long delay;
SYSCTL_RCGC2_R |= 0x00000020;// 1)激活端口 F 的时钟
延迟= SYSCTL_RCGC2_R;//允许时钟启动的时间
(笑声)


无符号长整型 LED;
void delay (void){unsigned long volatile time;
时间= 145448;// 0.1秒
while (time){
时间--;


int main (void){
PortF_Init ();//使 PF1输出(PF1内置 LED)
while (1){
LED = GPIO_PORTF_DATA_R;//读取上一个
LED = LED^0x02;//切换红色 LED、PF1
GPIO_PORTF_DATA_R = LED;//输出
delay();

对于函数延迟、我如何估算以下值? GPIO 的默认时钟是多少?  

时间= 145448;// 0.1秒

从文档和中删除  

SYSCTL_RCGC2_R |= 0x00000020;// 1)激活端口 F 的时钟

,我不清楚 GPIO 使用的时钟是什么。  

此致、  

Leon

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Leon、

    一般而言、我们不支持与直接寄存器修改编程相关的问题、仅支持 TivaWare、如我们 TM4C 论坛指南的第4点所述: e2e.ti.com/.../695568

    也就是说、关于您需要为应用做什么、您要计算的延迟将基于系统时钟。 GPIO 将根据系统时钟运行。

    使用 TivaWare 将为您提供很多帮助、因为我们在 TivaWare 中提供了一个 API、该 API 将为您提供 TM4C123x MCU 的系统时钟频率、因此您可以使用该频率来构建延迟。 API 是 SysCtlClockGet -请注意、API 仅适用于 TM4C123x MCU、因此、如果您使用 TM4C129x MCU、则需要使用不同的 API。