找回密码
 立即注册
楼主: 晓飛飛

简简单单做个USB温度传感器

  [复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:58
  • 最近打卡:2025-05-31 11:37:09

12

主题

28

回帖

255

积分

中级会员

积分
255
发表于 2024-6-18 15:04:20 来自手机 | 显示全部楼层
厉害
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:43
  • 最近打卡:2025-03-28 23:40:34

0

主题

35

回帖

266

积分

中级会员

积分
266
发表于 2024-6-22 01:26:24 来自手机 | 显示全部楼层
大佬
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-10-19 01:07:25

2

主题

51

回帖

450

积分

中级会员

积分
450
发表于 2024-6-25 11:15:36 来自手机 | 显示全部楼层
大佬
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:500
  • 最近打卡:2025-10-19 08:31:26

1

主题

22

回帖

2357

积分

金牌会员

积分
2357
发表于 2024-6-28 16:33:27 | 显示全部楼层
yja*** 发表于 2024-3-30 11:31
用8K64U是不是有点奢侈。

我觉得也挺奢侈。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:592
  • 最近打卡:2025-10-17 07:14:26

25

主题

198

回帖

1629

积分

金牌会员

积分
1629
发表于 2024-6-29 16:40:33 | 显示全部楼层
楼主你好!按照你的程序在屠龙刀上运行,用串口打印输出,显示不稳定,随机会出现一个不正常的数据,请指教{:5_300:}

主程序的while循环打印输出:

printf("cnt=%d\r\n",temp_cont);
printf("temp=%0.2f\r\n",temp_sum);
delay_Xms(1000);



void Timer1_Isr(void) interrupt 3
{
        static bit flag50ms;
        static u8 flag10ms;

        flag10ms++;
        if(flag10ms >= 5)     //软定时器 产生50ms周期
        {
                flag10ms = 0;       
                if(flag50ms)
                {
                        flag50ms = 0;
                        NST1001_DQ = 1;     //端口置高电平为传感器供电
                        NOP10();                        
                        TH0 = 0;          //清空计数器
                        TL0 = 0;          //清空计数器                        
                        TR0 = 1;          //启动计数
                }
                else
                {
                        flag50ms = 1;
                        NST1001_DQ = 0;      //端口置低电平 传感器断电
                        NOP10();
                        TR0 = 0;
                        temp_cont = (TH0 << 8) | TL0;
                        temp_sum = (float)(temp_cont) *  0.0625 - 50.0625;                  
                     
                }
        }              
}
nst1001.bmp

点评

是不是还开了其它中断,里面有长周期程序段影响了Timer1中断及时进入?另外,9600波特率发送ASCII码字符串也是比较慢的,建议提高波特率试试。  详情 回复 发表于 2024-6-29 19:06
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:179
  • 最近打卡:2025-10-15 07:17:39

15

主题

268

回帖

1423

积分

金牌会员

积分
1423
发表于 2024-6-29 17:47:37 | 显示全部楼层
传感器接哪里了?原理图没有啊。

点评

网络标号“SENSOR”和“GND”之间  详情 回复 发表于 2024-6-29 19:01
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:567
  • 最近打卡:2025-10-19 00:23:17
已绑定手机

41

主题

2448

回帖

2661

积分

荣誉版主

积分
2661
发表于 2024-6-29 19:01:30 | 显示全部楼层
liuzon*** 发表于 2024-6-29 17:47
传感器接哪里了?原理图没有啊。

网络标号“SENSOR”和“GND”之间
睁开眼睛做场梦~~~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:567
  • 最近打卡:2025-10-19 00:23:17
已绑定手机

41

主题

2448

回帖

2661

积分

荣誉版主

积分
2661
发表于 2024-6-29 19:06:18 | 显示全部楼层
Tui*** 发表于 2024-6-29 16:40
楼主你好!按照你的程序在屠龙刀上运行,用串口打印输出,显示不稳定,随机会出现一个不正常的数据,请指教 ...

是不是还开了其它中断,里面有长周期程序段影响了Timer1中断及时进入?另外,9600波特率发送ASCII码字符串也是比较慢的,建议提高波特率试试。
睁开眼睛做场梦~~~
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:179
  • 最近打卡:2025-10-15 07:17:39

15

主题

268

回帖

1423

积分

金牌会员

积分
1423
发表于 2024-6-30 08:51:07 | 显示全部楼层
晓*** 发表于 2024-6-29 19:01
网络标号“SENSOR”和“GND”之间

好,设计完美!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:592
  • 最近打卡:2025-10-17 07:14:26

25

主题

198

回帖

1629

积分

金牌会员

积分
1629
发表于 2024-6-30 17:22:42 | 显示全部楼层
本帖最后由 Tuier 于 2024-6-30 17:26 编辑
晓*** 发表于 2024-6-29 19:06
是不是还开了其它中断,里面有长周期程序段影响了Timer1中断及时进入?另外,9600波特率发送ASCII码字符 ...

用的是USB_CDC串口功能,自适应波特率。
工程只是单独读取NST1001程序,没有其它程序,没有其它中断。
提高波特率仍然无效。

点评

那唯一的区别就是我直接发送的是二进制数据,你用的是printf函数,下面是我的完整代码,你参考一下, 我上位机收到的数据曲线没有杂点和噪声非常干净,你再查查其它方面的问题吧。  详情 回复 发表于 2024-6-30 17:39
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-10-19 12:45 , Processed in 0.133651 second(s), 116 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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