We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I have developed a software in c(embedded).I used c51 compiler,8051(ATmel) microprocessor.I programmed to spot billing machines(machines that generate electricity bills) with the software.It is working fine in some machines,whereas in some machines iam getting a grabage value(for TAX column).WE calculate tax. Iam not able to identify the problem.Please give me a suggestion.what would be the problem. thanx in advance.
But it is happening in 3 machines out of 20. Well, let's see. That leaves 2 possibilities: 1. The 17 other machines are working correctly by coincidence. This means that there is a bug in the program. 2. The 3 machines are working incorrectly because they are somehow different from the 17 others. 2a) The difference is in the hardware, i.e. the hardware is somehow not functioning as intended. Can happen. Bad soldering and the like. 2b) The difference is in the environment (different input signals). This means the program is not reacting as intended to all expected environments. It is buggy. 2c) The difference is in the user interaction. Either the user is doing something wrong and user education is required, or the program is not reacting correctly to normal user interaction ... it is buggy.
1. The 17 other machines are working correctly by coincidence. This means that there is a bug in the program. 1a) Timing. Often such problems (which are indeed due to "there is a bug in the program") are timing related. Erik
"Timing" Very possibly. For example: The 17 machines are all rather old and slow; they are all within the spec, but towards the slow end of all the permitted timings. Your unit works fine with these. The other 3 machines are newer and quicker; they are also all within the spec, but towards the fast end of all the permitted timings. Your unit is not quite fast enough, and so it fails with these units. Or, conversely: The 17 machines are all new and quick; they are all within the spec, but towards the fast end of all the permitted timings. Your unit works fine with these. The other 3 machines are older and slower; they are also all within the spec, but towards the slow end of all the permitted timings. Your unit is actually a little too quick on its timeouts, and so it fails with these units. The above illustrate how your unit could have a bug (in the timing), and yet work with some machines and not others. This doesn't prove that it is your bug - just that it could be your bug.