bonjour
je vous explique mon problème (je ne suis pas un expert de python)
j'ai une rasberry et une arduino qui communique en CAN
sur la arduino j'ai deux boutons +/- qui permettent de modifier la valeur et l'envoi sur le CAN
la rasberry reçois cette trame periodique et récupère cette valeur que j'affiche dans la console -> ca marche
je voudrai afficher cela dans une fenêtre tkinter ca marche mais qu'une seule fois dés que la fenêtre s'affiche mon programme s'arete et ne viens plus vérifier la réception des messages
voici mon code actuel


os.system("sudo /sbin/ip link set can0 up type can bitrate 500000")
time.sleep(0.1)
window_tdb=tk.Tk()
window_tdb.geometry("500x500")
window_tdb.title("tableau de bord")
Valeur1=tk.IntVar(value=0)

try:
bus = can.interface.Bus(channel='can0', bustype='socketcan')

except OSError:
print('Cannot find PiCAN board.')
exit()

print('Ready')



try:
while True:



message = bus.recv() # Wait until a message is received.
ident= message.arbitration_id
identh=hex(ident)
print(identh)
while ident==288: #Button_state 120 en hexa
print("essai")
c = '{0:f} {1} {2} '.format(message.timestamp, message.arbitration_id, message.dlc)
s=''
for i in range(message.dlc ):
s += '{0} '.format(message.data[i])
print(' {}'.format(c+s))
APC_state=message.data[0]
Act_button_state=message.data[1]
Speed_order_lsb=message.data[2]
Cde_speed=Speed_order_lsb #consigne d'accélération ou de décélération

if APC_state==1:
#APC
if Act_button_state==1:
apc_state_aff=tk.Label(text="ACC actif")
apc_state_aff.pack() #APC et ACC
Speed_order_lsb=message.data[2]
Cde_ACC=1

print(Cde_speed)
print("codespeed")
print (Speed_order_lsb)

Valeur1.set(Cde_speed)
entree=tk.Entry(window_tdb,textvariable=Valeur1)
label1=tk.Label(window_tdb,textvariable=Valeur1)

label_consigne=tk.Label(window_tdb,textvariable=Valeur1)

label_consigne.config(text=Valeur1)
label1.pack()
entree.pack()
window_tdb.mainloop()


else: #APC mais pas ACC
Speed_order_lsb=0
Cde_speed=Speed_order_lsb
Cde_ACC=1
msg = can.Message(arbitration_id=0x130,dlc=3, data=[Cde_speed,Cde_ACC,0],is_extended_id=False)
bus.send(msg)

else:
print("Pas APC")

except KeyboardInterrupt:
#Catch keyboard interrupt
os.system("sudo /sbin/ip link set can0 down")
print('\n\rKeyboard interrtupt')

except KeyboardInterrupt:
#Catch keyboard interrupt
os.system("sudo /sbin/ip link set can0 down")
print('\n\rKeyboard interrtupt')


je vous remercie beaucoup pour votre aide