This commit is contained in:
Zengtudor 2025-04-12 22:01:18 +08:00
parent 8f264cce0f
commit 4638f385c8
4 changed files with 112 additions and 52 deletions

View File

@ -146,24 +146,7 @@
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM))</Name> <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM))</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint> <Breakpoint/>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>21</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\Src\main.cpp</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint>
<Tracepoint> <Tracepoint>
<THDelay>0</THDelay> <THDelay>0</THDelay>
</Tracepoint> </Tracepoint>
@ -217,7 +200,7 @@
<Group> <Group>
<GroupName>Start</GroupName> <GroupName>Start</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
@ -248,18 +231,6 @@
<File> <File>
<GroupNumber>1</GroupNumber> <GroupNumber>1</GroupNumber>
<FileNumber>3</FileNumber> <FileNumber>3</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Start\startup_stm32f10x_md.s</PathWithFileName>
<FilenameWithoutPath>startup_stm32f10x_md.s</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -271,7 +242,7 @@
</File> </File>
<File> <File>
<GroupNumber>1</GroupNumber> <GroupNumber>1</GroupNumber>
<FileNumber>5</FileNumber> <FileNumber>4</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -281,6 +252,18 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>5</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Start\startup_stm32f10x_md.s</PathWithFileName>
<FilenameWithoutPath>startup_stm32f10x_md.s</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
@ -609,6 +592,54 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>32</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\OLED.h</PathWithFileName>
<FilenameWithoutPath>OLED.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>33</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\OLED_Font.h</PathWithFileName>
<FilenameWithoutPath>OLED_Font.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>34</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\ztLed.hpp</PathWithFileName>
<FilenameWithoutPath>ztLed.hpp</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>35</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\ztOLED.hpp</PathWithFileName>
<FilenameWithoutPath>ztOLED.hpp</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
@ -619,7 +650,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>32</FileNumber> <FileNumber>36</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -631,7 +662,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>33</FileNumber> <FileNumber>37</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -643,7 +674,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>34</FileNumber> <FileNumber>38</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -655,7 +686,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>35</FileNumber> <FileNumber>39</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>

View File

@ -390,11 +390,6 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\Start\core_cm3.h</FilePath> <FilePath>.\Start\core_cm3.h</FilePath>
</File> </File>
<File>
<FileName>startup_stm32f10x_md.s</FileName>
<FileType>2</FileType>
<FilePath>.\Start\startup_stm32f10x_md.s</FilePath>
</File>
<File> <File>
<FileName>stm32f10x.h</FileName> <FileName>stm32f10x.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
@ -405,6 +400,11 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\Start\system_stm32f10x.h</FilePath> <FilePath>.\Start\system_stm32f10x.h</FilePath>
</File> </File>
<File>
<FileName>startup_stm32f10x_md.s</FileName>
<FileType>2</FileType>
<FilePath>.\Start\startup_stm32f10x_md.s</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -545,6 +545,26 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\Src\Delay.hpp</FilePath> <FilePath>.\Src\Delay.hpp</FilePath>
</File> </File>
<File>
<FileName>OLED.h</FileName>
<FileType>5</FileType>
<FilePath>.\Src\OLED.h</FilePath>
</File>
<File>
<FileName>OLED_Font.h</FileName>
<FileType>5</FileType>
<FilePath>.\Src\OLED_Font.h</FilePath>
</File>
<File>
<FileName>ztLed.hpp</FileName>
<FileType>5</FileType>
<FilePath>.\Src\ztLed.hpp</FilePath>
</File>
<File>
<FileName>ztOLED.hpp</FileName>
<FileType>5</FileType>
<FilePath>.\Src\ztOLED.hpp</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>

View File

@ -23,6 +23,6 @@ int main(){
leda0.setOff(); leda0.setOff();
ledc13.setOn(); ledc13.setOn();
delay_ms(delayTime); delay_ms(delayTime);
oled.ShowUNum(4, 6, time,10); oled.ShowUNum(4, 6, time);
} }
} }

View File

@ -5,8 +5,6 @@
#include "stm32f10x_rcc.h" #include "stm32f10x_rcc.h"
#include "OLED_Font.h" #include "OLED_Font.h"
#include <cstdint> #include <cstdint>
#include <list>
#include <vector>
namespace zt{ namespace zt{
class Oled{ class Oled{
@ -254,16 +252,27 @@ namespace zt{
} }
return *this; return *this;
} }
Oled&ShowUNum(const uint8_t line, const uint8_t column, uint8_t number){ Oled& ShowUNum(uint8_t Line, uint8_t Column, uint32_t Number) {
std::list<char> chars; // 特殊情况处理如果数字为0
while(number>0){ if (Number == 0) {
chars.push_front(number%10); ShowChar(Line, Column, '0');
number/=10; return *this;
} }
std::list<char>::iterator it = chars.begin();
for(uint8_t i=0;i<chars.size();i++){ // 计算数字的位数
ShowChar(line, column+i, *(it++)); uint8_t Length = 0;
uint32_t temp = Number;
while (temp > 0) {
temp /= 10;
Length++;
} }
// 显示每一位数字
for (uint8_t i = 0; i < Length; i++) {
char digit = (Number / Pow(10, Length - i - 1)) % 10 + '0'; // 将数字转换为字符
ShowChar(Line, Column + i, digit); // 在指定位置显示字符
}
return *this; return *this;
} }