色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

GD32F310定時器采樣MP6050并在彩色LCD上顯示波形

冬至配餃子 ? 來源:兆易創新GD32 MCU ? 作者:zhai ? 2022-09-23 17:45 ? 次閱讀

1.開發環境

(1)IAR8.4
(2)MPU6050 1.8寸顯示屏

2.軟件

(1)MPU6050陀螺儀驅動

i2C配置:

void i2c0_gpio_config(void)
{

rcu_periph_clock_enable(RCU_GPIOB);
rcu_periph_clock_enable(RCU_I2C0);  
gpio_af_set(GPIOB, GPIO_AF_1, GPIO_PIN_6);
gpio_af_set(GPIOB, GPIO_AF_1, GPIO_PIN_7);
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_6);
gpio_output_options_set(GPIOB, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_6);
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_7);
gpio_output_options_set(GPIOB, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_7);

}

void i2c_config(void)
{

i2c_clock_config(I2C0, 200000, I2C_DTCY_2);
i2c_mode_addr_config(I2C0, I2C_I2CMODE_ENABLE,     I2C_ADDFORMAT_7BITS, SlaveAddress);
i2c_enable(I2C0);
i2c_ack_config(I2C0, I2C_ACK_ENABLE);

}

uint8_t Read_Byte(uint16_t SlaveAddr,uint16_t ReadAddr, uint8_t *DataByte)
{

uint8_t err = 1;
i2c_start_on_bus(I2C0);                            
while(!i2c_flag_get(I2C0, I2C_FLAG_SBSEND));    
i2c_master_addressing(I2C0, SlaveAddr<<1, I2C_TRANSMITTER); 
while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));    
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);            
while(!i2c_flag_get(I2C0, I2C_FLAG_TBE));        
i2c_data_transmit(I2C0, ReadAddr);    
while(!i2c_flag_get(I2C0, I2C_FLAG_TBE));    
i2c_start_on_bus(I2C0);                            
while(!i2c_flag_get(I2C0, I2C_FLAG_SBSEND));    
i2c_master_addressing(I2C0, SlaveAddr<<1, I2C_RECEIVER);     
while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));    
i2c_ack_config(I2C0, I2C_ACK_DISABLE);            
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);            
i2c_stop_on_bus(I2C0);                            
while(!i2c_flag_get(I2C0, I2C_FLAG_RBNE));        
*DataByte  = i2c_data_receive(I2C0);            
i2c_ack_config(I2C0, I2C_ACK_ENABLE);            
err = 0;
return err;

}

uint8_t Write_Byte(uint16_t SlaveAddr,uint16_t WriteAddr,uint16_t WriteByte)
{

uint8_t err = 0;    
i2c_start_on_bus(I2C0);                            
while(!i2c_flag_get(I2C0, I2C_FLAG_SBSEND));    
i2c_master_addressing(I2C0, SlaveAddr<<1, I2C_TRANSMITTER);
while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));    
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);            
while(!i2c_flag_get(I2C0, I2C_FLAG_TBE));        
i2c_data_transmit(I2C0, WriteAddr);                
while(!i2c_flag_get(I2C0, I2C_FLAG_TBE));        
i2c_data_transmit(I2C0, WriteByte);                
while(!i2c_flag_get(I2C0, I2C_FLAG_TBE));        
i2c_stop_on_bus(I2C0);                            
return err;

}

陀螺儀初始化:

void mpu6050_init(){

Write_Byte( SlaveAddress, PWR_MGMT_1,  0x00 );
delay_1ms(10);
Write_Byte( SlaveAddress, SMPLRT_DIV,  0x07 );
delay_1ms(10);

Write_Byte( SlaveAddress, CONFIG, 0x06 );
delay_1ms(10);


Write_Byte( SlaveAddress, GYRO_CONFIG,  0x18);
delay_1ms(10);
Write_Byte( SlaveAddress, ACCEL_CONFIG,  0x01);
delay_1ms(10);

}

void GetData(uint16_t SlaveAddr,uint16_t REG_Address,short data[3])
{

uint8_t H=0,L=0;

for(int i=0;i<3;i++){
    Read_Byte(SlaveAddress, REG_Address+(i*2), &H);
    Read_Byte( SlaveAddress, REG_Address+(i*2+1),&L); 
   data[i]=(( short)(H<<8))|L;

}

(2)LCD驅動

驅動:

void LCD_GPIO_Init(void)
{


     rcu_periph_clock_enable(RCU_GPIOA);
     gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);
     gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);
     gpio_bit_set(GPIOA,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);

}

void LCD_Writ_Bus(uint8_t dat)
{

uint8_t i;
LCD_CS_Clr();
for(i=0;i<8;i++)
{              
    LCD_SCLK_Clr();
    if(dat&0x80)
    {
       LCD_MOSI_Set();
    }
    else
    {
       LCD_MOSI_Clr();
    }
    LCD_SCLK_Set();
    dat<<=1;
}    

LCD_CS_Set();

}

void LCD_WR_DATA8(uint8_t dat)
{

LCD_Writ_Bus(dat);

}

void LCD_WR_DATA(uint16_t dat)
{

LCD_Writ_Bus(dat>>8);
LCD_Writ_Bus(dat);

}

void LCD_WR_REG(uint8_t dat)
{

LCD_DC_Clr();//д????
LCD_Writ_Bus(dat);
LCD_DC_Set();//д????

}

void LCD_Address_Set(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2)
{

if(USE_HORIZONTAL==0)
{
    LCD_WR_REG(0x2a);//?е??????
    LCD_WR_DATA(x1+2);
    LCD_WR_DATA(x2+2);
    LCD_WR_REG(0x2b);//?е??????
    LCD_WR_DATA(y1+1);
    LCD_WR_DATA(y2+1);
    LCD_WR_REG(0x2c);//??????д
}
else if(USE_HORIZONTAL==1)
{
    LCD_WR_REG(0x2a);//?е??????
    LCD_WR_DATA(x1+2);
    LCD_WR_DATA(x2+2);
    LCD_WR_REG(0x2b);//?е??????
    LCD_WR_DATA(y1+1);
    LCD_WR_DATA(y2+1);
    LCD_WR_REG(0x2c);//??????д
}
else if(USE_HORIZONTAL==2)
{
    LCD_WR_REG(0x2a);//?е??????
    LCD_WR_DATA(x1+1);
    LCD_WR_DATA(x2+1);
    LCD_WR_REG(0x2b);//?е??????
    LCD_WR_DATA(y1+2);
    LCD_WR_DATA(y2+2);
    LCD_WR_REG(0x2c);//??????д
}
else
{
    LCD_WR_REG(0x2a);//?е??????
    LCD_WR_DATA(x1+1);
    LCD_WR_DATA(x2+1);
    LCD_WR_REG(0x2b);//?е??????
    LCD_WR_DATA(y1+2);
    LCD_WR_DATA(y2+2);
    LCD_WR_REG(0x2c);//??????д
}

}

void LCD_Init(void)
{

LCD_GPIO_Init();

LCD_RES_Clr();
delay_1ms(100);
LCD_RES_Set();
delay_1ms(100);

LCD_BLK_Set();
    delay_1ms(100);


delay_1ms(120);             

LCD_WR_REG(0xB1); 
LCD_WR_DATA8(0x05); 
LCD_WR_DATA8(0x3C); 
LCD_WR_DATA8(0x3C); 
LCD_WR_REG(0xB2); 
LCD_WR_DATA8(0x05);
LCD_WR_DATA8(0x3C); 
LCD_WR_DATA8(0x3C); 
LCD_WR_REG(0xB3); 
LCD_WR_DATA8(0x05); 
LCD_WR_DATA8(0x3C); 
LCD_WR_DATA8(0x3C); 
LCD_WR_DATA8(0x05); 
LCD_WR_DATA8(0x3C); 
LCD_WR_DATA8(0x3C); 

LCD_WR_REG(0xB4); //Dot inversion 
LCD_WR_DATA8(0x03); 

LCD_WR_REG(0xC0); 
LCD_WR_DATA8(0x28); 
LCD_WR_DATA8(0x08); 
LCD_WR_DATA8(0x04); 
LCD_WR_REG(0xC1); 
LCD_WR_DATA8(0XC0); 
LCD_WR_REG(0xC2); 
LCD_WR_DATA8(0x0D); 
LCD_WR_DATA8(0x00); 
LCD_WR_REG(0xC3); 
LCD_WR_DATA8(0x8D); 
LCD_WR_DATA8(0x2A); 
LCD_WR_REG(0xC4); 
LCD_WR_DATA8(0x8D); 
LCD_WR_DATA8(0xEE); 

LCD_WR_REG(0xC5); //VCOM 
LCD_WR_DATA8(0x1A); 
LCD_WR_REG(0x36); //MX, MY, RGB mode 
if(USE_HORIZONTAL==0)LCD_WR_DATA8(0x00);
else if(USE_HORIZONTAL==1)LCD_WR_DATA8(0xC0);
else if(USE_HORIZONTAL==2)LCD_WR_DATA8(0x70);
else LCD_WR_DATA8(0xA0); 

LCD_WR_REG(0xE0); 
LCD_WR_DATA8(0x04); 
LCD_WR_DATA8(0x22); 
LCD_WR_DATA8(0x07); 
LCD_WR_DATA8(0x0A); 
LCD_WR_DATA8(0x2E); 
LCD_WR_DATA8(0x30); 
LCD_WR_DATA8(0x25); 
LCD_WR_DATA8(0x2A); 
LCD_WR_DATA8(0x28); 
LCD_WR_DATA8(0x26); 
LCD_WR_DATA8(0x2E); 
LCD_WR_DATA8(0x3A); 
LCD_WR_DATA8(0x00); 
LCD_WR_DATA8(0x01); 
LCD_WR_DATA8(0x03); 
LCD_WR_DATA8(0x13); 
LCD_WR_REG(0xE1); 
LCD_WR_DATA8(0x04); 
LCD_WR_DATA8(0x16); 
LCD_WR_DATA8(0x06); 
LCD_WR_DATA8(0x0D); 
LCD_WR_DATA8(0x2D); 
LCD_WR_DATA8(0x26); 
LCD_WR_DATA8(0x23); 
LCD_WR_DATA8(0x27); 
LCD_WR_DATA8(0x27); 
LCD_WR_DATA8(0x25); 
LCD_WR_DATA8(0x2D); 
LCD_WR_DATA8(0x3B); 
LCD_WR_DATA8(0x00); 
LCD_WR_DATA8(0x01); 
LCD_WR_DATA8(0x04); 
LCD_WR_DATA8(0x13); 
//------------------------------------End ST7735S Gamma Sequence-----------------------------// 
LCD_WR_REG(0x3A); //65k mode 
LCD_WR_DATA8(0x05); 
LCD_WR_REG(0x29); //Display on 

}

顯示函數:

void LCD_Fill(uint16_t xsta,uint16_t ysta,uint16_t xend,uint16_t yend,uint16_t color)
{

uint16_t i,j; 
LCD_Address_Set(xsta,ysta,xend-1,yend-1);//?????????Χ
for(i=ysta;i

}

void LCD_DrawPoint(uint16_t x,uint16_t y,uint16_t color)
{

LCD_Address_Set(x,y,x,y);//???ù??λ?? 
LCD_WR_DATA(color);

}

void LCD_DrawLine(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2,uint16_t color)
{

uint16_t t; 
int xerr=0,yerr=0,delta_x,delta_y,distance;
int incx,incy,uRow,uCol;
delta_x=x2-x1; //???????????? 
delta_y=y2-y1;
uRow=x1;//???????????
uCol=y1;
if(delta_x>0)incx=1; //??????????? 
else if (delta_x==0)incx=0;//????? 
else {incx=-1;delta_x=-delta_x;}
if(delta_y>0)incy=1;
else if (delta_y==0)incy=0;//???? 
else {incy=-1;delta_y=-delta_y;}
if(delta_x>delta_y)distance=delta_x; //???????????????? 
else distance=delta_y;
for(t=0;tdistance)
    {
        xerr-=distance;
        uRow+=incx;
    }
    if(yerr>distance)
    {
        yerr-=distance;
        uCol+=incy;
    }
}

}

void LCD_DrawRectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2,uint16_t color)
{

LCD_DrawLine(x1,y1,x2,y1,color);
LCD_DrawLine(x1,y1,x1,y2,color);
LCD_DrawLine(x1,y2,x2,y2,color);
LCD_DrawLine(x2,y1,x2,y2,color);

}

void Draw_Circle(uint16_t x0,uint16_t y0,uint8_t r,uint16_t color)
{

int a,b;
a=0;b=r;      
while(a<=b)
{
    LCD_DrawPoint(x0-b,y0-a,color);                    
    LCD_DrawPoint(x0+b,y0-a,color);                       
    LCD_DrawPoint(x0-a,y0+b,color);                            
    LCD_DrawPoint(x0-a,y0-b,color);                        
    LCD_DrawPoint(x0+b,y0+a,color);                         
    LCD_DrawPoint(x0+a,y0-b,color);            
    LCD_DrawPoint(x0+a,y0+b,color);              
    LCD_DrawPoint(x0-b,y0+a,color);             
    a++;
    if((a*a+b*b)>(r*r))
    {
        b--;
    }
}

}

void LCD_ShowChar(uint16_t x,uint16_t y,uint8_t num,uint16_t fc,uint16_t bc,uint8_t sizey,uint8_t mode)
{

uint8_t temp,sizex,t,m=0;
uint16_t i,TypefaceNum;
uint16_t x0=x;
sizex=sizey/2;
TypefaceNum=(sizex/8+((sizex%8)?1:0))*sizey;
num=num-' ';   
LCD_Address_Set(x,y,x+sizex-1,y+sizey-1); 
for(i=0;i

}

void LCD_ShowString(uint16_t x,uint16_t y,const uint8_t *p,uint16_t fc,uint16_t bc,uint8_t sizey,uint8_t mode)
{

while(*p!='?')
{       
    LCD_ShowChar(x,y,*p,fc,bc,sizey,mode);
    x+=sizey/2;
    p++;
}  

}

uint32_t mypow(uint8_t m,uint8_t n)
{

uint32_t result=1;     
while(n--)result*=m;
return result;

}

void LCD_ShowIntNum(uint16_t x,uint16_t y,uint16_t num,uint8_t len,uint16_t fc,uint16_t bc,uint8_t sizey)
{

uint8_t t,temp;
uint8_t enshow=0;
uint8_t sizex=sizey/2;
for(t=0;t

}

void LCD_ShowFloatNum1(uint16_t x,uint16_t y,float num,uint8_t len,uint16_t fc,uint16_t bc,uint8_t sizey)
{

uint8_t t,temp,sizex;
uint16_t num1;
sizex=sizey/2;
num1=num*100;
for(t=0;t

}

(3)主函數

void gd_led_config(void);
void gd_led_toggle(void);

int data[128]={0},data2[128]={0},data3[128]={0};
short Acc[3],Gyro[3];

void TIMER2_IRQHandler(void) {

if(SET == timer_interrupt_flag_get(TIMER2, TIMER_INT_FLAG_UP)){
    /* clear channel 0 interrupt bit */
    timer_interrupt_flag_clear(TIMER2, TIMER_INT_FLAG_UP);
            
            
            
            GetData(SlaveAddress,ACCEL_XOUT_H,Acc);
            GetData(SlaveAddress,GYRO_XOUT_H,Gyro);    
           
    gd_led_toggle();
}

}

void nvic_config(void)
{

nvic_irq_enable(TIMER2_IRQn, 0, 0);

}

void timer_config(void)
{

TIMER2 Configuration:
TIMER2CLK = SystemCoreClock/8400(GD32F330)or 10800(GD32F350) = 10KHz.
the period is 1s(10000/10000 = 1s).

timer_oc_parameter_struct timer_ocinitpara;
timer_parameter_struct timer_initpara;

/* enable the peripherals clock */
rcu_periph_clock_enable(RCU_TIMER2);

/* deinit a TIMER */
timer_deinit(TIMER2);
/* initialize TIMER init parameter struct */
timer_struct_para_init(&timer_initpara);
/* TIMER2 configuration */


timer_initpara.prescaler         = 4999;
timer_initpara.alignedmode       = TIMER_COUNTER_EDGE;
timer_initpara.counterdirection  = TIMER_COUNTER_UP;
timer_initpara.period            = 999;
timer_initpara.clockdivision     = TIMER_CKDIV_DIV1;
timer_init(TIMER2, &timer_initpara);

/* clear channel 0 interrupt bit */
timer_interrupt_flag_clear(TIMER2, TIMER_INT_FLAG_UP);
/* enable the TIMER interrupt */
timer_interrupt_enable(TIMER2, TIMER_INT_UP);
/* enable a TIMER */
timer_enable(TIMER2);

}

int main(void)
{

gd_led_config();
systick_config();

 
i2c0_gpio_config();

i2c_config();

mpu6050_init();

LCD_Init();
LCD_Fill(0,0,LCD_W,LCD_H,BLACK);
//LCD_ShowString(0,0,"Hellow GD32F310G8!",WHITE,BLUE,12,0);

  
timer_config();
/* configure the TIMER2 interrupt */
nvic_config();



while(1) {
  
  
  
  
   
                        
                   
          for(int i=0;i<128;i++){
           LCD_DrawPoint( i, data[i],RED);
           LCD_DrawPoint( i, data2[i],GREEN);
           LCD_DrawPoint( i, data3[i],BLUE);
             }
          delay_1ms(10);

         for(int i=0;i<128;i++){
          LCD_DrawPoint( i, data[i],BLACK);
          LCD_DrawPoint( i, data2[i],BLACK);
          LCD_DrawPoint( i, data3[i],BLACK);
          }
 
         for(int i=0;i<127;i++){
          data[i]=data[i+1];
          data2[i]=data2[i+1];
         data3[i]=data3[i+1];
 }

 data[127]=20+(int)(((float)Gyro[0])/164);
 data2[127]=60+(int)(((float)Gyro[1])/164);
 data3[127]=100+(int)(((float)Gyro[2])/164);
                
 
  
 
 
  //char cpd[10];
   //sprintf(cpd,"%d",Acc[0]);
   
   //LCD_ShowString(0,0,cpd,WHITE,BLUE,12,0);

 

}

}

void gd_led_config(void)
{

rcu_periph_clock_enable(RCU_GPIOA);


gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_1);

GPIO_BC(GPIOA) = GPIO_PIN_1;

}

void gd_led_toggle(void)
{

GPIO_TG(GPIOA) = GPIO_PIN_1;

}

3.效果

GD32存在一個問題,用隊列緩沖陀螺儀數據時,運行數秒后死機。



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 陀螺儀
    +關注

    關注

    44

    文章

    783

    瀏覽量

    98667
  • LCD顯示器
    +關注

    關注

    0

    文章

    87

    瀏覽量

    20173
  • GD32
    +關注

    關注

    7

    文章

    403

    瀏覽量

    24328
收藏 人收藏

    評論

    相關推薦

    GD32F310開發板試用--基于RTT Nano的RTT軟件包使用

    微控制GD32F310系列MCU最高主頻可達72MHz并支持DSP指令運算。配備了64KB的內置Flash及48KB的SRAM,內核訪問閃存高速零等待。采用LQFP32封裝。 在評測期間,我移植
    的頭像 發表于 08-09 11:17 ?1797次閱讀

    GD32F310開發板實現四線OLED顯示的設計

    1、在GD32F310開發板實現四線OLED顯示的設計  本次采用四線OLED與開發板實現通信,使用模擬IIC方式,在自己平時的應用中OLED屏幕還是用的比較多的,本文目標是實現OLED顯示功能
    發表于 08-31 15:25

    基于GD32F310 定時器中編碼接口的簡介及特點

    2000編碼模式2:編碼旋轉一周計數計數 4000注意: "-" 意思是"無計數"; "X" 意思是不可能。在【GD32F310
    發表于 09-28 15:53

    基于GD32F310開發板完成超頻及ADC極限采樣率實驗

    1、ADC極限采樣率實驗  項目為用單片機采集VGA圖像的應用,當前所用的單片機為GD32F330,用于降成本的替代方案原本選擇的是GD32E230,咨詢過代理商那邊說是新出的GD32F310
    發表于 09-29 15:35

    GD32F310對浮點DSP運算及Modbus移植進行測評

    1. 測評背景GD32作為國產化ARM中的旗艦,其全系列產品不僅市場占有率高,而且各具特色,廣受使用者好評。筆者在測評這款GD32F310之前,曾經使用過GD32F450,其強大的性能,低廉的價格
    發表于 09-30 11:09

    基于GD32F310開發板的CMSIS-DAP燒錄與定時器采集脈寬問題

    1、CMSIS-DAP電只能燒錄一次問題解決&定時器脈寬采集  GD32F310擁有TSSOP20、QFN28、QFN32、LQFP32以及LQFP48共5種封裝類型,采用Arm
    發表于 09-30 12:04

    基于GD32F310開發板的AD多通道交流采樣計算

    GD32F310這個核心板,通過本人已有的外圍電路將繼保測試儀的交流電壓信號調理后采集到核心板。交流電壓信號50HZ,要求每個周期采樣32個點,那么每個通道采樣頻率為1600Hz(3
    發表于 09-30 14:29

    基于GD32F310開發板的RT-Thread Shell移植及調試心得

      GD32F310系列采用Arm Cortex-M4內核,主頻達到72MHz,配備了16KB到64KB的嵌入式閃存及4KB到8KB的SRAM。片上集成了多達5個16位通用定時器、1個16位基本定時器和1
    發表于 09-30 14:47

    基于GD32F310開發板移植FreeRTOS的步驟詳解

    1、GD32F310移植FreeRTOS  開發板信息  我們在來看看關于這款開發板:  GD32F310K-START 評估板使用 GD32F310K8T6 作為主控制。LED的引
    發表于 10-10 18:07

    GD電機驅動底層配置—永磁同步電機控制

    ,可使GD32F310系列廣泛應用于永磁同步電機控制領域。本文將介紹應用于電機控制時,高級定時器和ADC的配置過程。  底層驅動配置  GD32F310中的高級定時器TIMER0是一個
    發表于 10-13 14:29

    基于GD32F310開發板在rt-thread添加finsh及其shell功能

    1、GD32F310開發板試用+finsh/shell添加與進程STACK優化  一次只是移植了rt-thread nano的內核,但rt-thread的finsh/shell,是一大很有特點
    發表于 11-08 16:05

    利用GD32F310的I2C0實現對HDC1080的初始化及讀取環境溫濕度

    ,芯片內置64KB flash,8KB SRAM,兩路I2C外設。  本次試用目的是利用GD32F310的I2C0實現對HDC1080的初始化及讀取環境溫濕度,并利用UART口在電腦顯示出來。  新建
    發表于 11-08 16:24

    GD32F310開發板移植FreeRTOS的步驟相關資料分享

    1、GD32F310移植FreeRTOS  環境說明  首先我先說明我的環境:  我使用keil5的版本是V5.36,電腦系統是WIN10,使用的固件庫版本是從官網下載的最新版2.2.0,我所移植
    發表于 11-08 16:58

    GD32F310定時器采樣MP6050并在彩色LCD顯示波形的操作過程

    ,LCD_W,LCD_H,BLACK);//LCD_ShowString(0,0,"Hellow GD32F310G8!",WHITE,BLUE,12,0);timer_config
    發表于 11-21 15:48

    如何利用GD32F310讀取HDC1080環境溫濕度

    本次試用目的是利用GD32F310的I2C0實現對HDC1080的初始化及讀取環境溫濕度,并利用UART口在電腦顯示出來。
    的頭像 發表于 04-15 15:23 ?2919次閱讀
    如何利用<b class='flag-5'>GD32F310</b>讀取HDC1080環境溫濕度
    主站蜘蛛池模板: 国精产品一区一区三区有限| 亚洲haose在线观看| 快播在线电影网站| 国产学生无码中文视频一区| 动漫女主被扒开双腿羞辱| 99国内精品久久久久久久清纯| 一个人的HD高清在线观看| 亚洲视频国产在线精品| 午夜免费福利小电影| 丝袜足控免费网站xx91| 色色色五的天| 色欲档案之麻雀台上淫| 视频三区 国产盗摄| 日韩在线视频www色| 日本aaaa| 色狠狠色综合吹潮| 青娱国产区在线| 欧洲最大无人区免费高清完整版 | 天天噜日日噜夜夜噜| 特级aa 毛片免费观看| 双性诱受灌满哭求饶BL| 丝瓜视频在线免费| 性直播免费| 亚洲欧美日本国产在线观18| 亚洲日产2020乱码草莓毕| 亚洲精品国偷拍自产在线 | 男女生爽爽爽视频免费观看| 看黄色片子| 欧美成人免费一区二区三区不卡| asian4you裸模| 亚洲精品拍拍央视网出文 | 办公室的秘密2中文字幕| 一级毛片在线免费视频| 亚洲精品免费观看| 亚洲AV日韩AV欧美在线观看网| 日夜啪啪一区二区三区| 青青操久久| 人妻 中文无码 中出| 欧美日韩综合一区| 挠黑色超薄丝袜脚心vk40分钟| 久久性生大片免费观看性|