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

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

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-06-12 07:07:44

122

主题

158

回帖

291

积分

中级会员

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

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

使用道具 举报 送花

3

主题

764

回帖

239

积分

等待验证会员

积分
239
发表于 5 天前 | 显示全部楼层
在国芯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
  • 打卡总天数:205
  • 最近打卡:2025-06-13 08:44:59
已绑定手机

67

主题

1894

回帖

4247

积分

荣誉版主

无情的代码机器

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-06-13 00:06:20
已绑定手机

19

主题

3231

回帖

5271

积分

论坛元老

积分
5271
发表于 5 天前 来自手机 | 显示全部楼层
这些都是宏定义,告诉编译器的,如果使用如BAUD,编译器自动替换成115200
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-06-13 05:10:15
已绑定手机

79

主题

5108

回帖

9080

积分

超级版主

DebugLab

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-06-13 05:10:15
已绑定手机

79

主题

5108

回帖

9080

积分

超级版主

DebugLab

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-13 10:46 , Processed in 0.123733 second(s), 82 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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