更新:数码管只刷新改变的位置

This commit is contained in:
吴俊潮 2025-03-19 19:08:58 +08:00
parent 3357a8af8d
commit 3ff3a5e703
3 changed files with 15857 additions and 15829 deletions

View File

@ -2,7 +2,7 @@
* @Author: wujunchao wujunchao@wuxismart.com * @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2024-12-27 11:51:06 * @Date: 2024-12-27 11:51:06
* @LastEditors: wujunchao wujunchao@wuxismart.com * @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2025-03-19 17:02:06 * @LastEditTime: 2025-03-19 18:39:43
* @FilePath: \signal_generator\App\APP_WU\Inc\apps_gather.h * @FilePath: \signal_generator\App\APP_WU\Inc\apps_gather.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */

View File

@ -2,7 +2,7 @@
* @Author: wujunchao wujunchao@wuxismart.com * @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2024-12-27 11:50:56 * @Date: 2024-12-27 11:50:56
* @LastEditors: wujunchao wujunchao@wuxismart.com * @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2025-03-19 18:35:25 * @LastEditTime: 2025-03-19 19:06:14
* @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c * @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
@ -1290,31 +1290,57 @@ void keyset_output(int8_t key_step)
} }
//设置当前的输出值(实际值-> (无符号)数组),可直接输入负数 //设置当前的输出值(实际值-> (无符号)数组),可直接输入负数
//记录缓存变化的位置
uint8_t change_flag[7] = {0};
void set_output_array(int32_t pvo) void set_output_array(int32_t pvo)
{ {
int32_t temp = 0;
pvo = (pvo > 0)?(pvo):(0 - pvo); pvo = (pvo > 0)?(pvo):(0 - pvo);
//将实际值转换成6个独立数字 //将实际值转换成6个独立数字
m5data.o_numbers[0] = (pvo/1000000 > 9)?(9):(pvo/1000000); for(uint8_t i = 0; i < 7; i++)
m5data.o_numbers[1] = (pvo/100000) % 10; {
m5data.o_numbers[2] = (pvo/10000) % 10; temp = ( pvo / (int32_t)my_power( 10,( 6 - i ) ) ) % 10;
m5data.o_numbers[3] = (pvo/1000) % 10; if(temp != m5data.o_numbers[i])
m5data.o_numbers[4] = (pvo/100) % 10; {
m5data.o_numbers[5] = (pvo/10) % 10; m5data.o_numbers[i] = temp;
m5data.o_numbers[6] = pvo % 10; change_flag[i] = 1;
}
}
if( m5data.o_numbers[0] > 9 ) m5data.o_numbers[0] = 9;
} }
//设置输出值:数字显示 + 符号 + 缓存sto实际值(有符号) //设置输出值:数字显示 + 符号 + 缓存sto实际值(有符号)
void set_output(float32 sto) void set_output(float32 sto)
{ {
if( (sto < 0)&&(m5data.sign_flag_out == 0) )
{
//出现负数并且没有显示负号时
set_nixie_cube_sign(IO_OUTPUT, 1);
}
else if(( (sto >= 0)&&(m5data.sign_flag_out == 1) ))
{
//数值为非负数,但仍然显示负号时
set_nixie_cube_sign(IO_OUTPUT, 0);
}
//乘以1000用于绕开 int32 和 float32 之间的转换 //乘以1000用于绕开 int32 和 float32 之间的转换
sto *= 1000; sto *= 1000;
//设置数码管 数值 显示与 符号 显示
set_nixie_cube(IO_OUTPUT, 99, sto);
//更新缓存 //更新缓存
set_output_array(sto); set_output_array(sto);
//刷新改变的位置
for(uint8_t i = 0;i < 7;i++)
{
if(change_flag[i])
{
set_nixie_cube(IO_OUTPUT, i, m5data.o_numbers[i]);
}
}
} }
//获取当前设定的输出值 //获取当前设定的输出值

File diff suppressed because it is too large Load Diff