裴红恩

  • 2025-01-20
  • 回复了主题帖: 【测评入围名单(最后1批)】年终回炉:FPGA、AI、高性能MCU、书籍等65个测品邀你来~

    个人信息无误,确认可以完成测评计划

  • 2025-01-15
  • 回复了主题帖: lt3763电流无法提高

    想学硬件和fpga 发表于 2024-11-15 11:01 请问问题解决了吗 嗯,是电源的整体性不行,这边重新布板后将大电流从头到尾都进行了很宽的铺铜就解决了

  • 2024-08-07
  • 回复了主题帖: lt3763电流无法提高

    qwqwqw2088 发表于 2024-8-7 08:52 多少A的电流 测一下PWM有没有 1.056A电流,PWM直接接入的intvcc,我打算重画了,感觉有点像输出端的限流电阻的原因我直接飞线电流降低了

  • 2024-08-06
  • 发表了主题帖: lt3763电流无法提高

    大家有没有遇到过lt3763驱动大功率led灯电流无法上来的问题

  • 回复了主题帖: LM2596和AMS1117电源转换芯片时没有输出

    你的1117 3V3电压为什么要接贴片电解电容的负极到地 

  • 2024-03-15
  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】测评 - 4 - 中景园TFT_LCD移植+SPI2测试

    秦天qintian0303 发表于 2024-3-11 11:41 淘宝好好找,一定会发现好东西的   现在不中了,我之前买的那个屏幕现在要我运费了

  • 2024-03-11
  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】测评 - 4 - 中景园TFT_LCD移植+SPI2测试

    秦天qintian0303 发表于 2024-3-8 14:56 我自己玩常用的是一个1.54寸,240*240的,支持SPI和8080通信的,10元左右 你这个怪便宜嘞

  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】测评 - 4 - 中景园TFT_LCD移植+SPI2测试

    裴红恩 发表于 2024-3-8 11:35 这个屏幕是我找的彩屏中最便宜的 我买的时候12包邮1.8寸的

  • 2024-03-08
  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】测评 - 4 - 中景园TFT_LCD移植+SPI2测试

    秦天qintian0303 发表于 2024-3-7 17:24 ST7735S在小屏应用中太广泛了,主要还是SPI的实现   这个屏幕是我找的彩屏中最便宜的

  • 2024-03-07
  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】 spi2问题贴

    尹小舟 发表于 2024-3-7 09:32 问题已经找到了  是引脚映射问题,这里要改一下引脚映射 可以使用这个函数 GPIO_ConfigPinRe ... 我这边没有管脚复用,正常就运行成功了

  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】测评 - 4 - 中景园TFT_LCD移植+SPI2测试

    lugl4313820 发表于 2024-3-7 06:54 拍照 时,背景也清理一下,这样的作品最后评分会很低。屏已经驱动了,能不能根据中景园的一些基本测试的例 ... 我这边找找这些例程  

  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】测评 - 4 - 中景园TFT_LCD移植+SPI2测试

    lugl4313820 发表于 2024-3-7 06:51 建议增加移植的文字介绍,比如屏的时序、极性如何设置。还有拍图片时,最好与开发板一起拍,拍正面呀。你这 ... 好的好的

  • 2024-03-06
  • 发表了主题帖: 【国民技术车规MCU N32A455开发板】测评 - 4 - 中景园TFT_LCD移植+SPI2测试

    本帖最后由 裴红恩 于 2024-3-7 14:47 编辑 # 【国民技术车规MCU N32A455开发板】测评 - 4 - 中景园TFT_LCD移植+SPI2测试 之前就移植过中景园LCD的驱动到GD32系列的单片机上,这次在测试SPI接口的时候直接驱动一下LCD屏幕并且将过程完整的记录下来 ### STEP one: ST7735S是一块1.8英寸采用SPI通信的TFT全彩屏,分辨率是128*160,这里采用RGB565 16bit的色块编译模式(RGB565即高五位为Red,第五位为Blue,中间六位为Green,共16位)。 BLK:背光开光引脚 CS:片选信号 DC:数据模式选择信号 1为写命令/0为写数据 RST:复位信号 SDA:SPI数据线 SCL:SPI时钟线 VDD:兼容+5V和+3.3V GND:接地 简单介绍一下驱动的运行过程,首先是进行一次屏幕复位,清除所有的信号 根据数据手册我们可以知道复位时间需要低电平并且最少持续10us以上,取消复位需要等到电平置高以后120ms以后 ```c         LCD_RES_Clr();//信号电平从高到低         delay_ms(100);//复位打开延时         LCD_RES_Set();//信号电平从低到高         delay_ms(120);//复位取消延时 ``` 打开背光,因为LCD屏幕本身是不会如同LED屏幕一样发光的将BL位电平置高 ```c         LCD_BLK_Set();//打开背光 ``` 接下来开始进行参数的配置,写数据0x11退出休眠模式 由上图可以知道当处于Sleep Out由于寄存器的下载以及自诊断需要在120ms以后在进行其他的操作 ```c         LCD_WR_REG(0x11); //Sleep out         delay_ms(120);              //Delay 120ms ``` 由上图可知我们的数据位选择的是16bit,所以对于串行信号是如此写入的,cs保持低电平,scl写入数据是为低电平,dc保持低电平为写入命令 ```c void LCD_Writ_Bus(u8 dat) {                u8 i;         LCD_CS_Clr();         for(i=0;i

  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】 spi2问题贴

    哥们移植成功没,我这边出图像了

  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】 spi2问题贴

    尹小舟 发表于 2024-3-6 10:41 我把SPI_FLASH的例程改到SPI2上,结果也无效,添加了GPIO_ConfigPinRemap(GPIO_RMP1_SPI2, ENABLE); 或GPIO ... spi1的时钟路线是APB2,SPI2的话是APB1

  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】 spi2问题贴

    尹小舟 发表于 2024-3-6 10:39 我是使用SPI1  是可以正常显示的, 但是用SPI2 不可以 引脚时钟需要改一下  

  • 回复了主题帖: 【国民技术车规MCU N32A455开发板】 spi2问题贴

    我个人感觉应该是lcd屏初始化的时候出了一点问题,我之前移植其它单片机的时候遇到过,另外他的flash用spi2肯定不行因为这玩意w25q128是通过导线连接在一起的吧

  • 2024-03-02
  • 发表了主题帖: 【国民技术车规MCU N32A455开发板】测评 - 3 - FreeRTOS系统初步移植+简单运行

    # 【国民技术车规MCU N32A455开发板】测评 - 3 - FreeRTOS系统初步移植+简单运行 之前一直在使用FreeRTOS,不过自己从来没有向一个单片机从头新建一个操作系统环境,将自己本次使用这个开发板搭建FreeRTOS的环境的过程记录下来。 ### STEP one: 首先的第一步搭建裸机keil开发环境新建六个文件夹分别是EWARM没用感觉可以删了,firmware文件夹存放一些N32A455单片机的头文件以及一些底层驱动,freertos存放来自freertos的内核代码,MDK—ARM存keil的工程文件,inc和src分别存放main等函数,新建完以后使用keil的project的new project选中MDK—ARM文件夹将在这个文件夹中新建工程。 之后打开keil工程点击manage project itms 进入包管理按照一下进行添入 之后在添加文件夹识别路径,稳妥起步尽量添加每一个文件夹省的到时候找不到 之后调用xTaskCreate创建任务创建三个任务 ```c void start_task(void *pvParameters) {     taskENTER_CRITICAL();           /* 进入临界区 */     /* 创建任务1 */     xTaskCreate((TaskFunction_t )task1,                 /* 任务函数 */                 (const char*    )"task1",               /* 任务名称 */                 (uint16_t       )TASK1_STK_SIZE,        /* 任务堆栈大小 */                 (void*          )NULL,                  /* 传入给任务函数的参数 */                 (UBaseType_t    )TASK1_PRIO,            /* 任务优先级 */                 (TaskHandle_t*  )&Task1Task_Handler);   /* 任务句柄 */     /* 创建任务2 */     xTaskCreate((TaskFunction_t )task2,                 /* 任务函数 */                 (const char*    )"task2",               /* 任务名称 */                 (uint16_t       )TASK2_STK_SIZE,        /* 任务堆栈大小 */                 (void*          )NULL,                  /* 传入给任务函数的参数 */                 (UBaseType_t    )TASK2_PRIO,            /* 任务优先级 */                 (TaskHandle_t*  )&Task2Task_Handler);   /* 任务句柄 */     /* 创建任务3 */     xTaskCreate((TaskFunction_t )task3,                 /* 任务函数 */                 (const char*    )"task3",               /* 任务名称 */                 (uint16_t       )TASK3_STK_SIZE,        /* 任务堆栈大小 */                 (void*          )NULL,                  /* 传入给任务函数的参数 */                 (UBaseType_t    )TASK3_PRIO,            /* 任务优先级 */                 (TaskHandle_t*  )&Task3Task_Handler);   /* 任务句柄 */     vTaskDelete(StartTask_Handler); /* 删除开始任务 */     taskEXIT_CRITICAL();            /* 退出临界区 */ } ``` 通过vTaskStartScheduler();启动 RTOS 调度器 通过vTaskDelay函数取消堵塞多长时间进入一次

  • 2024-02-26
  • 发表了主题帖: 国民技术车规MCU N32A455开发板测评 - 2 - uart串口通讯+mqtt初连百度智能云

    # 国民技术车规MCU N32A455开发板测评 - 2 - uart串口通讯+mqtt初连百度智能云 >你好!这边之前通过阿里智能云社区中的帖子搞过关于stm32f103c8t6连接到百度智能云不过没有很好的记录下来,这次通过这次机会将其完整的记录下来。 编程软件keil5 串口调试工具usb转ttl 串口上位机sscom ## STEP one: >我们首先需要完成的是关于串口的发送以及中断接收 #### 1.串口的初始化 ```c /** * @brief Configures the different system clocks. */ void RCC_Configuration(void) {     /* Enable GPIO clock */     GPIO_APBxClkCmd(USARTx_GPIO_CLK | RCC_APB2_PERIPH_AFIO, ENABLE);     /* Enable USARTy and USARTz Clock */     USART_APBxClkCmd(USARTx_CLK, ENABLE); } ``` >APB2 外设时钟使能寄存器的操作 USARTx_GPIO_CLK所定义的内容是 RCC_APB2_PERIPH_AFIO所定义的内容是 通过查询数据手册可以得知这时钟的第一步是使能GPIO端的A时钟与AFIO时钟 第二步是初始化usart时钟 ```c void GPIO_Configuration(void) {     GPIO_InitType GPIO_InitStructure;//定义引脚初始化结构体     /* Configure USARTy Rx as input floating */     GPIO_InitStructure.Pin       = USARTx_RxPin;//Pa10     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;     GPIO_InitPeripheral(USARTy_GPIO, &GPIO_InitStructure);     /* Configure USARTy Tx as alternate function push-pull */     GPIO_InitStructure.Pin        = USARTx_TxPin;//Pa9     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_PP;     GPIO_InitPeripheral(USARTy_GPIO, &GPIO_InitStructure); } ``` 其中IO的配置在代码中是由GPIO_ModeType这个结构体表示的: ```c typedef enum {     GPIO_Mode_AIN         = 0x0,//模拟模式 0000     GPIO_Mode_IN_FLOATING = 0x04,//浮空输入0100     GPIO_Mode_IPD         = 0x28,//下拉输入1000 0     GPIO_Mode_IPU         = 0x48,//上拉输入1000 1     GPIO_Mode_Out_OD      = 0x14,//开漏输出     GPIO_Mode_Out_PP      = 0x10,//推挽输出     GPIO_Mode_AF_OD       = 0x1C,//复用开漏输出     GPIO_Mode_AF_PP       = 0x18//复用推挽输出 } GPIO_ModeType; ``` 在通过查询手册可知PA9是串口一的TX采用复用推挽输出PA10是串口的RX采用的是浮空输入 ```c /* USARTy and USARTz configuration ------------------------------------------------------*/     USART_InitStructure.BaudRate            = 115200;//串口工作速率设置后期与PC端串口调试工具调试的时候需要对上这个波特率     USART_InitStructure.WordLength          = USART_WL_8B;//发送与接收的数据位数     USART_InitStructure.StopBits            = USART_STPB_1;//停止位     USART_InitStructure.Parity              = USART_PE_NO;//奇偶校验位     USART_InitStructure.HardwareFlowControl = USART_HFCTRL_NONE;//是否开启硬件流控制     USART_InitStructure.Mode                = USART_MODE_RX | USART_MODE_TX;//接收模式开启参数     /* Configure USARTx */     USART_Init(USARTx, &USART_InitStructure);//将所有参数进行输入进行初始化 ``` 串口接收中断的初始化 ```c void NVIC_Configuration(void) {     NVIC_InitType NVIC_InitStructure;     /* Configure the NVIC Preemption Priority Bits */     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);//设置0bit抢占优先级4bit优先级为首要优先级     /* Enable the USARTy Interrupt */     NVIC_InitStructure.NVIC_IRQChannel            = USARTx_IRQn;     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;     NVIC_InitStructure.NVIC_IRQChannelCmd         = ENABLE;     NVIC_Init(&NVIC_InitStructure); } ``` #### 2.串口的发送与接收 发送,通过重写串口发送函数 //串口1发送的重写 ```c //串口1发送的重写 void Usart1_SendByte(u8 val) {                 USART_SendData(USART1, (uint8_t)val);     while (USART_GetFlagStatus(USART1, USART_FLAG_TXDE) == RESET); } void Usart1_SendBuf(u8 *buf,u8 len) {     while(len--)        Usart1_SendByte(*buf++); } void Usart1_SendString(char *str) {     while(*str)        Usart1_SendByte(*str++); } ``` 在while函数中调用结果如下 中断函数中进行中断接收 ```c void USARTx_IRQHandler(void) {         if (USART_GetIntStatus(USART1, USART_INT_RXDNE) != RESET)   {                 rxbuf[RxCounter1++] = USART_ReceiveData(USART1);                 if(rxbuf[RxCounter1] == 0x02 && rxbuf[RxCounter1-1] == 0x20)                 {                         mqtt_flag = 1;                 }                 rxarray[RxCounter1-1] = rxbuf[RxCounter1-1];         }         if(RxCounter1 == 200)         {                 RxCounter1 = 0;         } //        if (RxCounter1 == 100) //        { //                        /* Disable the USARTy Receive interrupt */ //                        USART_ConfigInt(USART1, USART_INT_RXDNE, DISABLE); //        } } ``` 结果如下图 ## STEP tow: ```c //连接热点 u8 wifi_state = 0; void Wifi_Init(void) {         while(wifi_state < 3)         {                 wifi_state = 0;                 if(_net.Init(rxbuf,sizeof(rxbuf),txbuf,sizeof(txbuf))!=0)//如果初始化返回为0的话说明esp8266没有连接好                 {                         wifi_state++;                 }                 if(_net.ConnectAP(WIFI_NAME,WIFI_PASSWD)!=0)//连接热点                 {                         wifi_state++;                 }                 if(_net.ConnectServer("TCP",MQTT_BROKERADDRESS,1883)!=0)//构建TCP通讯线路                 {                         wifi_state++;                 }         } } u8 mqtt_state = 0; void Mqtt_Init(void) {         while(mqtt_state < 2)         {                 mqtt_state = 0;                 _mqtt.Init(rxbuf,sizeof(rxbuf),txbuf,sizeof(txbuf));                 if(_mqtt.Connect(                 MQTT_CLIENTID,  //ClientID                 MQTT_USARNAME,  //Username                 MQTT_PASSWD       //Password                 ) != 0)                 {                         mqtt_state++;                 }                        if(_mqtt.SubscribeTopic(MQTT_SUBSCRIBE_TOPIC,0,1) != 0)                 {                         mqtt_state++;                 }         } } ```

  • 2024-02-19
  • 回复了主题帖: 国民技术车规MCU N32A455开发板测评 - 1 - IO输入输出+板子简单介绍

    nmg 发表于 2024-2-18 18:20 板卡是你的朋友,玩的如何了,继续来分享哈 好的,最近在移植esp8266-s1 wifi模块连接板卡到百度智能云

最近访客

< 1/2 >

统计信息

已有22人来访过

  • 芯积分:66
  • 好友:1
  • 主题:5
  • 回复:18

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言