AI32G12K128试验箱串口配置
2024-11-4 14:19 来自 江上酒酒 发布@ 综合讨论
本帖最后由 江上酒酒 于 2024-11-4 16:07 编辑
用32G12K128试验箱做ADC按键电压检测时如何进行串口配置
用32G12K128试验箱做ADC按键电压检测时如何进行串口配置
用8G1K08做的红外感应开关,感应距离30厘米,下面的程序和电路看看合适
2024-11-4 14:12 来自 shen168 发布@ 综合讨论
本帖最后由 DebugLab 于 2024-11-4 14:24 编辑
62754
#include"stc8.h"
#include"intrins.h"//使用nop()函数需引用此文件
typedef unsigned char uint8_t;
typedef unsigned int uint16_t;
typedef unsigned long uint32_t;
//280us @11.0592MHz
TH1 = 0xF3; \
ET1 = 1; \
TR1 = 1
void Timer1_Init(void) //280微秒@11.0592MHz
{
AUXR |= 0x40; //定时器时钟1T模式
62754
#include"stc8.h"
#include"intrins.h"//使用nop()函数需引用此文件
typedef unsigned char uint8_t;
typedef unsigned int uint16_t;
typedef unsigned long uint32_t;
//280us @11.0592MHz
TH1 = 0xF3; \
ET1 = 1; \
TR1 = 1
void Timer1_Init(void) //280微秒@11.0592MHz
{
AUXR |= 0x40; //定时器时钟1T模式
论坛管理建议,关于用户名加星号的必要性?
2024-11-4 00:20 来自 VCC 发布@ 综合讨论
可以看到论坛里面,无论是在主页,还是在帖子里,用户名都没有完全显示出来。大概是只显示了前面几个字符
然而点进帖子里面,如果某个用户发过帖子,就可以点击【回复】,查看到这个人的完整用户名
既然论坛里想要隐藏用户名,但又在部分条件下没有隐藏用户名。
基于当前情况下看,在首页给用户名加星号似乎有些多余了,虽然没有起到保护隐私的效果,但是影响了阅读体验。
那么隐藏用户名的初衷是什么呢?
62727
62726
62725
关于AI8051U播放SD小卡的音乐播放器
2024-11-3 21:56 来自 wanli 发布@ 综合讨论
请问一下AI8051U播放SD小卡的音乐播放器例程和官方程序 能实现吗 有没有相关的例程参考呢{:4_187:}{:4_187:}{:4_187:}{:4_187:}
ADC电压采集
2024-11-2 22:20 来自 江上酒酒 发布@ 综合讨论
本帖最后由 江上酒酒 于 2024-11-2 22:23 编辑
用一箭双雕转化器和STC32G12K128试验箱进行ADC电压采集,没有反应为什么。
#include <STC32G.H>
#include <INTRINS.H>
void Delay2ms(void);
void ADC_Init(void);
unsigned int ADC_Read(unsigned char no);
unsigned int ADC_CAL_Voltage(unsigned int num);
void main()
{
unsigned int ADC_VAL;
ADC_Init();
while(1)
{
Delay2ms();
ADC_VAL=ADC_Read(0);
printf("当前ADC数\xfd值:%d\t%dmv\r\n",(int)ADC_VAL,(in
用一箭双雕转化器和STC32G12K128试验箱进行ADC电压采集,没有反应为什么。
#include <STC32G.H>
#include <INTRINS.H>
void Delay2ms(void);
void ADC_Init(void);
unsigned int ADC_Read(unsigned char no);
unsigned int ADC_CAL_Voltage(unsigned int num);
void main()
{
unsigned int ADC_VAL;
ADC_Init();
while(1)
{
Delay2ms();
ADC_VAL=ADC_Read(0);
printf("当前ADC数\xfd值:%d\t%dmv\r\n",(int)ADC_VAL,(in
求助10k热敏电阻+下偏置电阻计算公式
2024-11-2 12:00 来自 13655175864 发布@ 综合讨论
本人小白,想把 “5v --10k电阻-- 热敏电阻 -- GND” 接线方法
改成 “5v -- 热敏电阻-- 10k电阻-- GND” 的计算公式。
此为论坛找到的公式 position = 1.0 / (1.0 / 298.15 + log((float)adc_12bit / (4096.0-(float)adc_12bit)) / 3950) - 273.15; ( 温度T与电阻Rt的关系:T=1/(1/To+ln(Rt/Ro)/B))对应 “5v --10k电阻-- 热敏电阻 -- GND”可以用。
苦于水平有限,只会用,不会修改,特在此请教,谢谢。
请教SPI-Flash-Writer-UART例程中的一些问题
2024-11-1 11:36 来自 angalp 发布@ 综合讨论
本帖最后由 DebugLab 于 2024-11-1 11:43 编辑
SPI-Flash-Writer-UART例程中UART_Process()函数
while (bReadPtr != bWritePtr) 是bReadPtr与bWritePtr不相等再执行里面的语句 ,什么条件不相等呢?是接收到串口数据吗?
dat = _getkey(); _getkey函数中又有个等待bReadPtr与bWritePtr相等 后执行return语句,while (bReadPtr == bWritePtr);又在什么条件下相等呢?
switch (stage)
{
default:
case STG_IDLE:
L_CheckHead:
if (dat == 'A')
stage = STG_CMD_HEAD1;
else
stage = STG_IDLE;
SPI-Flash-Writer-UART例程中UART_Process()函数
while (bReadPtr != bWritePtr) 是bReadPtr与bWritePtr不相等再执行里面的语句 ,什么条件不相等呢?是接收到串口数据吗?
dat = _getkey(); _getkey函数中又有个等待bReadPtr与bWritePtr相等 后执行return语句,while (bReadPtr == bWritePtr);又在什么条件下相等呢?
switch (stage)
{
default:
case STG_IDLE:
L_CheckHead:
if (dat == 'A')
stage = STG_CMD_HEAD1;
else
stage = STG_IDLE;
感谢嘉立创感谢Ai公司
2024-10-31 19:31 来自 MM@M 发布@ 综合讨论
本帖最后由 DebugLab 于 2024-10-31 20:46 编辑
这两天也是收到了Ai公司免费包邮送的芯片了,包装很好很喜欢{:3_48:}
这两天也是收到了Ai公司免费包邮送的芯片了,包装很好很喜欢{:3_48:}
有了倚天剑,何须杀猪刀
2024-10-31 16:08 来自 社区闲人 发布@ 综合讨论
通常中高档MCU,使用6--12M晶振 + PLL ,倍频到需要的频率。
AI32也配置了PLL,可惜只有固定12x的倍率。强烈建议STC将PLL升级都可变倍率!
HPLL就是可变倍率,说明STC有这个技术!!!
用12M的外部晶振,通过PLL倍频到32M用于系统时钟:
void OSC_SET(void)
{
u16 j;
// P_SW2 = 0x80;
P5IE = ~0xc0; //P5.6 P5.7关闭数字输入功能
//XOSCCR = 0x80; //启动外部有源时钟, 此时P1.6固定为高阻, 仅能用于数字输入或ADC输入.
XOSCCR = 0xc0 + 0x08; //启动外部晶振(8051U系列),12M以下+0x08, 24M以下+0x04, 48M以下+0x00.
for(j = 0;j < 32766;j ++)
{
if(XOSCCR & 1) //等待时钟稳定
{
CLKSEL =
AI32也配置了PLL,可惜只有固定12x的倍率。强烈建议STC将PLL升级都可变倍率!
HPLL就是可变倍率,说明STC有这个技术!!!
用12M的外部晶振,通过PLL倍频到32M用于系统时钟:
void OSC_SET(void)
{
u16 j;
// P_SW2 = 0x80;
P5IE = ~0xc0; //P5.6 P5.7关闭数字输入功能
//XOSCCR = 0x80; //启动外部有源时钟, 此时P1.6固定为高阻, 仅能用于数字输入或ADC输入.
XOSCCR = 0xc0 + 0x08; //启动外部晶振(8051U系列),12M以下+0x08, 24M以下+0x04, 48M以下+0x00.
for(j = 0;j < 32766;j ++)
{
if(XOSCCR & 1) //等待时钟稳定
{
CLKSEL =
请教一下这个PWM呼吸灯的程序哪里有问题
2024-10-30 19:32 来自 Crystalline 发布@ 综合讨论
unsigned char pwm_count = 0; // PWM 计数器
unsigned int pwm_duty = 0; // PWM 占空比,取值范围扩大到 0~200
unsigned char pwm_direction = 1; // PWM 增减方向,1 表示增加,0 表示减少
unsigned int brightness_delay = 0; // 控制亮度变化的延时计数器
void Timer1_Isr(void) interrupt 3 // 50us 中断
{
if (++pwm_count >= 200) pwm_count = 0; // 使 PWM 周期为 200,即 50us * 200 = 10ms 的周期
// PWM 控制:根据 pwm_duty 调整 LED 的亮暗
if (pwm_count < pwm_duty) P25 = 0;
else P25 = 1;
// 控制亮度变化频率,每隔10ms调整一次占空比
unsigned int pwm_duty = 0; // PWM 占空比,取值范围扩大到 0~200
unsigned char pwm_direction = 1; // PWM 增减方向,1 表示增加,0 表示减少
unsigned int brightness_delay = 0; // 控制亮度变化的延时计数器
void Timer1_Isr(void) interrupt 3 // 50us 中断
{
if (++pwm_count >= 200) pwm_count = 0; // 使 PWM 周期为 200,即 50us * 200 = 10ms 的周期
// PWM 控制:根据 pwm_duty 调整 LED 的亮暗
if (pwm_count < pwm_duty) P25 = 0;
else P25 = 1;
// 控制亮度变化频率,每隔10ms调整一次占空比
之前朋友大电流弄坏我的单片机,现在好了一半
2024-10-30 19:22 来自 vb2002 发布@ 综合讨论
STC8G1K08A-SOP8
之前我朋友拿我的单片机去做手电筒驱动,跑了一个20安的大电流,
然后把单片机烧了,几个月前的事,当时我就把那个板子扔了,
今天不知道怎么回事,又把那个板子找到了,我不知道那个是坏了的板子,
然后试了一下,竟然奇迹般的可以点亮了,但是现在有个问题,
5v不可以下载,用3.3伏就可以,然后p55端口,一直是低电平,
p54端口失效,,现在只有 3.3v状态下可以用 p33和p32,
其他功能全部正常。
哪怕我把p55弄成高阻,也是一直亮着led的。
之前我朋友拿我的单片机去做手电筒驱动,跑了一个20安的大电流,
然后把单片机烧了,几个月前的事,当时我就把那个板子扔了,
今天不知道怎么回事,又把那个板子找到了,我不知道那个是坏了的板子,
然后试了一下,竟然奇迹般的可以点亮了,但是现在有个问题,
5v不可以下载,用3.3伏就可以,然后p55端口,一直是低电平,
p54端口失效,,现在只有 3.3v状态下可以用 p33和p32,
其他功能全部正常。
哪怕我把p55弄成高阻,也是一直亮着led的。
关于上电延时问题,有什么方法进一步缩短延时
2024-10-30 18:50 来自 采果农 发布@ 综合讨论
单片机型号STC8G1K17A
下再参数如下:已经勾选掉上电使用较长延时
但是拉低IO口仍然需要107ms,
上电初始化的程序也很简单。
请问有什么方法降低这个延时。
我知道上电后会进入工厂的BootLoad,这个时间能不能想办法再缩短。
61998
61997
61999
下再参数如下:已经勾选掉上电使用较长延时
但是拉低IO口仍然需要107ms,
上电初始化的程序也很简单。
请问有什么方法降低这个延时。
我知道上电后会进入工厂的BootLoad,这个时间能不能想办法再缩短。
61998
61997
61999
为啥AI32G的keil的C源文件string的strtok函数没有啊!!!
2024-10-30 16:24 来自 htr 发布@ 综合讨论
本帖最后由 DebugLab 于 2024-10-30 16:50 编辑
有个项目要用到字符串分解strtok函数,编译没过去,看了一下string源文件里为啥没有这个函数啊!单片机用的STC32G,只能用KEIL C251,怎么C源文件STRING残缺了部分函数,检查了一下keil c51里这个源文件里有这个函数,复制到C251里编译也过不了!!
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: strtok
MODULE: .\list\APP.obj (APP)
Program Size: data=8.7 edata+hdata=3563 xdata=0 const=734 code=9357
有个项目要用到字符串分解strtok函数,编译没过去,看了一下string源文件里为啥没有这个函数啊!单片机用的STC32G,只能用KEIL C251,怎么C源文件STRING残缺了部分函数,检查了一下keil c51里这个源文件里有这个函数,复制到C251里编译也过不了!!
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: strtok
MODULE: .\list\APP.obj (APP)
Program Size: data=8.7 edata+hdata=3563 xdata=0 const=734 code=9357
请教:STC8H8K64U 和 Ai8H8K64U ,两者是什么关系?
2024-10-30 14:42 来自 oy野马 发布@ 综合讨论
我发贴咨询请教“STC8H8K64U”的问题,被大神改成了“Ai8H8K64U”
1. 查芯片手册页面,两个被放在一个网页,但是又都各有下载连接。
2. 点开“Ai8”的规格书,发现其最早的更新记录是2019年12月30日的。
3. 点开本论坛上方的“选型价格(最底部显示2024年10月9日修订)”,
——又发现已经没有了“STC8H8K64U”,只有“Ai8H8K64U”,不过“STC8H"系列还有其他型号在列。
4. 点开微信STC商城,“STC8H8K64U”仍然在售,不过好像便宜了好多{:4_187:}
有点晕~~恳请大神帮忙理一下,两者关系,只是名称更改?还是新品换代?
先谢了{:4_196:}{:4_213:}
1. 查芯片手册页面,两个被放在一个网页,但是又都各有下载连接。
2. 点开“Ai8”的规格书,发现其最早的更新记录是2019年12月30日的。
3. 点开本论坛上方的“选型价格(最底部显示2024年10月9日修订)”,
——又发现已经没有了“STC8H8K64U”,只有“Ai8H8K64U”,不过“STC8H"系列还有其他型号在列。
4. 点开微信STC商城,“STC8H8K64U”仍然在售,不过好像便宜了好多{:4_187:}
有点晕~~恳请大神帮忙理一下,两者关系,只是名称更改?还是新品换代?
先谢了{:4_196:}{:4_213:}
绑定手机发送验证码出现这个弹窗是怎么回事?
2024-10-30 10:00 来自 未元星系 发布@ 综合讨论
佬们我想绑定手机号,但点击发送验证码就给我弹出这个,咨询下这是咋回事?{:4_267:}