迪文科技论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 大明哥

【开源】迪文82 83指令 STM32单片机 FreeRtos,小白速看 ,密码

[复制链接]

23

主题

136

回帖

1361

积分

金牌会员

Rank: 6Rank: 6

积分
1361
发表于 2024-7-30 11:04:22 | 显示全部楼层
界面做的挺漂亮
回复

使用道具 举报

2

主题

7

回帖

123

积分

注册会员

Rank: 2

积分
123
发表于 2024-9-22 17:53:51 | 显示全部楼层
本帖最后由 dadaguaijiaojun 于 2024-9-22 18:30 编辑

大佬请问,控制迪文屏可以像keil一样给mcu写程序的方法吗
回复

使用道具 举报

2

主题

7

回帖

123

积分

注册会员

Rank: 2

积分
123
发表于 2024-9-22 18:29:26 | 显示全部楼层
大佬,大佬,纯小白,我要实现一个温度传感器的读取,把读取的数据显示在我的迪文屏幕(DMG80480C050_04WTC),我已经用DGUS做好了ui,也用sd卡放进屏幕了,然后我收到的数据帧是01 03 00 04 41 E7 1E B8 DE EE的温度数据帧(28.89°),我怎么实现在屏幕显示,我需要用到哪些控件,我是不是要创建一个迪文的KEIL T5L工程,作为基本版本呢,我用单片机控制迪文屏是不是必须要有USB转232的线?屏幕的波特率是不是默认是115200,这个在哪儿看呢
回复

使用道具 举报

0

主题

671

回帖

9888

积分

论坛元老

Rank: 8Rank: 8

积分
9888
发表于 2024-9-23 08:26:24 | 显示全部楼层
屏幕显示数字  可以用数据 变量显示控件。屏幕界面开发参考这个:【教学视频】T5L_DGUS II_PC软件教学视频合集
http://inforum.dwin.com.cn:20080 ... 0&fromuid=24741
(出处: 迪文科技论坛)

单片机和屏通讯 需要电平一致  波特率参考您这边做的通讯协议,看您的数据帧像是MODBUS协议  如果是这个协议  需要看这个协议中波特率写的多少
回复

使用道具 举报

2

主题

7

回帖

123

积分

注册会员

Rank: 2

积分
123
发表于 2024-10-11 19:53:45 | 显示全部楼层
大佬,请问用过LPC1766吗,想问文FIFO为一个字节怎么设置接收函数
回复

使用道具 举报

0

主题

525

回帖

7841

积分

论坛元老

Rank: 8Rank: 8

积分
7841
发表于 2024-10-11 21:10:00 | 显示全部楼层
dadaguaijiaojun 发表于 2024-10-11 19:53
大佬,请问用过LPC1766吗,想问文FIFO为一个字节怎么设置接收函数

看下下面的代码示例是否有帮助。

在LPC1766(或类似的NXP LPC17xx系列微控制器)上,FIFO(先进先出)通常用于UART(通用异步收发传输器)的接收和发送。如果你需要编写一个函数来从UART FIFO接收一个字节,你需要配置UART,并编写一个函数来读取FIFO缓冲区中的数据。
以下是一个示例函数,用于从UART FIFO接收一个字节。假设你已经配置了UART外设,并且UART的FIFO功能已经启用。

#include "LPC17xx.h"  // 包含LPC1766的寄存器定义  
  
// UART配置函数(根据你的需要配置波特率、数据位、停止位等)  
void UART0_Init(void) {  
    // 启用UART0时钟  
    LPC_SC->PCONP |= (1 << 1);  
  
    // 配置引脚为UART0功能  
    LPC_PINCON->PINSEL0 &= ~((3 << 0) | (3 << 2));  // P0.0, P0.1 为UART0_TXD, UART0_RXD  
    LPC_PINCON->PINSEL0 |= ((2 << 0) | (2 << 2));  
  
    // 配置波特率(假设PCLK为系统时钟/4,并且系统时钟为48MHz)  
    LPC_UART0->DLL = 0x0E;  // DLL和DLM寄存器设置波特率除数  
    LPC_UART0->DLM = 0x00;  
  
    // 8位数据位,1个停止位,无奇偶校验  
    LPC_UART0->LCR = (1 << 0);  // 8位数据位  
    LPC_UART0->LCR &= ~(1 << 2);  // 无奇偶校验  
    LPC_UART0->LCR &= ~(1 << 3);  // 1个停止位  
  
    // FIFO使能,FIFO复位  
    LPC_UART0->FCR = (1 << 0) | (1 << 1) | (1 << 2);  // FIFO使能,接收FIFO复位,发送FIFO复位  
  
    // 使能UART0接收和发送  
    LPC_UART0->TER = (1 << 0) | (1 << 2);  // 使能接收和发送  
}  
  
// 从UART FIFO接收一个字节  
uint8_t UART0_ReceiveByte(void) {  
    // 检查接收FIFO是否有数据可读  
    while (!(LPC_UART0->LSR & (1 << 0)));  // 等待接收数据寄存器非空  
  
    // 读取接收FIFO中的数据  
    return LPC_UART0->RBR;  
}  
  
int main(void) {  
    UART0_Init();  // 初始化UART0  
  
    // 示例:接收一个字节并打印其十六进制值(假设你有某种方式打印或调试)  
    uint8_t receivedByte = UART0_ReceiveByte();  
    // 打印receivedByte的值(这里只是一个示例,你需要实现自己的打印函数)  
  
    while (1) {  
        // 主循环  
    }  
  
    return 0;  
}

解释
        1        UART0_Init:这个函数初始化UART0,包括时钟使能、引脚配置、波特率设置、数据格式配置、FIFO使能等。
        2        UART0_ReceiveByte:这个函数从UART0的接收FIFO中读取一个字节。它使用LSR(线路状态寄存器)来检查是否有数据可读,然后读取RBR(接收缓冲区寄存器)中的数据。
        3        main:在主函数中,首先调用UART0_Init来初始化UART0,然后调用UART0_ReceiveByte来接收一个字节。
注意事项
        •        你需要根据你的硬件连接和具体需求调整UART配置(如波特率、数据位、停止位等)。
        •        示例代码中的打印功能需要你实现,因为LPC1766本身没有直接的打印功能,通常你需要通过UART或其他调试接口(如JTAG/SWD)来查看调试信息。
回复

使用道具 举报

5

主题

14

回帖

134

积分

注册会员

Rank: 2

积分
134
发表于 2024-10-23 20:21:02 | 显示全部楼层
tang12 发表于 2024-7-6 11:02
是我直接再这几个文件我在哪可以进行编码啊?

请问这份模板在哪里找的呀
回复

使用道具 举报

1

主题

7

回帖

70

积分

注册会员

Rank: 2

积分
70
发表于 2024-10-25 17:21:00 | 显示全部楼层
硬件连接迪文屏的串口和板子的几号串口连接了?
回复

使用道具 举报

0

主题

525

回帖

7841

积分

论坛元老

Rank: 8Rank: 8

积分
7841
发表于 2024-10-25 19:23:59 | 显示全部楼层
阿巴ab 发表于 2024-10-25 17:21
硬件连接迪文屏的串口和板子的几号串口连接了?

出厂一般接屏的串口2.
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-23 01:16 , Processed in 0.076489 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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