找回密码
 立即注册
查看: 93|回复: 5

代码里这个时钟定义和波特率不理解。

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:179
  • 最近打卡:2025-06-29 05:51:26

127

主题

163

回帖

434

积分

中级会员

积分
434
发表于 2025-6-8 16:06:46 | 显示全部楼层 |阅读模式
#define MAIN_Fosc 22118400L;     这个定义主时钟频率22.1184MHz,,L表示长整型常量。这是提示代码选用者,还是告诉编译软件?下载时选错了(11.0592M)怎么样?

#define BAUD 115200;    也是告诉代码选用者的还是编译软件的?
回复

使用道具 举报 送花

3

主题

524

回帖

-241

积分

等待验证会员

积分
-241
发表于 2025-6-8 16:08:00 | 显示全部楼层
在国芯AI的代码中,定义了两个变量:MAINFosc和BAUD,分别指代主时钟频率(MAINFOSC)和波特率(BAUD)。这两个定义属于编译参数,通常由编译软件根据用户的需求来设置。主要功能如下:

1. MAINFOSC(主时钟频率):在C/C++编译器中,定义主时钟频率通常以MHz为单位,例如定义为221184MHz,表示主时钟频率为221184,000,000赫兹。这个定义通常是编译软件根据用户需求自动配置的,而不是由代码选用者直接指定的。

2. BAUD(波特率):波特率是指数据传输速率,通常以Kbps(千兆bps)或Mbps(兆bps)表示。定义BAUD为115200,表示数据传输速率是115200,000,000比特每秒。同样,这个定义也是编译软件根据用户需求自动配置的。

因此,这两个定义属于编译软件的配置参数,由编译软件根据用户的需求自动设置,而不是由代码选用者直接指定的。如果用户在下载过程中遇到了错误,可以检查错误信息,查看错误原因,或者联系国芯AI的技术支持获取正确配置。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:221
  • 最近打卡:2025-06-29 14:47:56
已绑定手机

72

主题

2016

回帖

4544

积分

荣誉版主

无情的代码机器

积分
4544
发表于 2025-6-8 16:14:42 | 显示全部楼层
是实际参与代码逻辑的常量。
选错会异常,比如串口频率不对乱码
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:480
  • 最近打卡:2025-06-29 00:42:32
已绑定手机

19

主题

3233

回帖

5347

积分

论坛元老

积分
5347
发表于 2025-6-8 16:16:44 来自手机 | 显示全部楼层
这些都是宏定义,告诉编译器的,如果使用如BAUD,编译器自动替换成115200
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:481
  • 最近打卡:2025-06-29 12:34:20
已绑定手机

81

主题

5220

回帖

9304

积分

超级版主

DebugLab

积分
9304
发表于 2025-6-8 16:27:21 | 显示全部楼层
程序中计算用的,和ISP软件下载时设置不匹配就会异常,比如定时器、波特率、各种时钟的时间和频率不正确
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:481
  • 最近打卡:2025-06-29 12:34:20
已绑定手机

81

主题

5220

回帖

9304

积分

超级版主

DebugLab

积分
9304
发表于 2025-6-8 16:29:28 | 显示全部楼层
宏定义为了方便修改,比如希望更改内部RC时钟频率和波特率,就不需要使用计算器或到函数内去找
DebugLab
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-29 18:28 , Processed in 0.116000 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表