赛元单片机SC92F732x系列printf函数构造[以7321为例]
生活随笔
收集整理的這篇文章主要介紹了
赛元单片机SC92F732x系列printf函数构造[以7321为例]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先放效果圖:
再放代碼部分:
首先本代碼依據賽元官方DEMO代碼所作修改,官方地址:賽元芯片官方DEMO
我所修改“”Uart_Init.c部分:
#include "H/Function_Init.H" #include "stdio.h" bit UartSendFlag = 0; //發送中斷標志位 bit UartReceiveFlag = 0; //接收中斷標志位char putchar(char c)//重定向 {UartSendBit(c);return c; }/***************************************************** *函數名稱:void Uart0_Init(void) *函數功能:Uart0中斷初始化 *入口參數:void *出口參數:void *****************************************************/ void Uart0_Init(void) //選擇Timer1作為波特率信號發生器 {P1CON &= 0XF3;P1PH |= 0X0C; //TX/RX為帶上拉輸入;P13 = 1; //TX初始高電平;SCON = 0X50; //方式1,允許接收數據PCON |= 0X80; T2CON = 0x00; //使用定時器1作UART時鐘TMOD = 0X20; //定時器1 8位自動重載TMCON = 0X02; //定時器1 Fsys;TL1 = 217; TH1 = 217; //UART 波特率24M情況下=38400;TR1 = 1; //啟動Timer0EUART = 1; //允許UART中斷EA = 1; //開總中斷 }/* void Uart0_Init(void) //選擇Timer2作為波特率信號發生器 {P1CON &= 0XF3;P1PH |= 0X0C; //TX為強推輸出,RX為帶上拉輸入;SCON = 0X50; //設置通信方式為模式一,允許接收PCON |= 0X80; TMCON |= 0X04;T2MOD = 0X00;T2CON = 0X30;RCAP2H = 0xFF;RCAP2L = 0xB2;TR2 = 1;EUART = 1; //開啟Uart0中斷EA = 1; } *//***************************************************** *函數名稱:void UartInt(void) interrupt 4 *函數功能:Uart0中斷服務函數 *入口參數:void *出口參數:void *****************************************************/ void UartInt(void) interrupt 4 {if(TI){TI = 0; UartSendFlag = 1; }if(RI){RI = 0; UartReceiveFlag = 1;} }/***************************************************** *函數名稱:void UartSendBit(unsigned char c) *函數功能:Uart0中斷服務函數 *入口參數:void *出口參數:void *****************************************************/ void UartSendBit(unsigned char c) {SBUF = c;while(!UartSendFlag);UartSendFlag = 0; }我所修改“”Function_Init.c部分:
#ifndef _Function_Init_H_ #define _Function_Init_H_#include "SC92F732x_C.H" #include "intrins.H" #define uchar unsigned char #define uint unsigned int#define IapROM 0x00 //0x00:選擇ROM區操作 0x02:選擇EEPROM區操作 #define IapEPPROM 0x02 //0x00:選擇ROM區操作 0x02:選擇EEPROM區操作extern void IO_Init(void); extern void BTM_Test(void); extern void EXTI_Test(void); extern void Timer_Test(void); extern void LCD_Test(void); extern void PWM_Test(void); extern void ADC_Test(void); extern void IAP_Test(uint Address,uchar IAPArea); void Uart0_Init(void); void UartSendBit(unsigned char c);/***************************************** 說明:選擇測試IC *****************************************/ #define SC92F7323 0 #define SC92F7322 1 #define SC92F7321 2 #define SC92F7320 3#define IC_MODEL SC92F7321#endif需要在main和uart里面#include "stdio.h"一下。
最后,main部分:
主函數也就是while里面的有用,其他可以不看。
總結
以上是生活随笔為你收集整理的赛元单片机SC92F732x系列printf函数构造[以7321为例]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 石头剪刀布php源码,原创:微信小程序源
- 下一篇: 计算机辐射测试,电脑产品emc测试辐射骚